如何使文本字段在键盘覆盖时向上移动
我有一个应用程序,其中有2个textfields和一个textview.when,当我单击第一个文本字段时,我的键盘弹出窗口并且他们没有问题,但是当我输入第二个textfield我的键盘弹出窗口并覆盖textfield。我希望当我点击第二个文本字段时,textfield应该向上移动一点,这样我可以输入并且我有一个textview但是我已经编写了textview的代码,以便当我输入文本视图它会自动移动。问题是与textfield.Can任何人都可以帮助我解决这个问题。谢谢如何使文本字段在键盘覆盖时向上移动
查看下面的链接 - 该解决方案由Micheal Tyson编写。它解决了UITableView和UIScrollView,可以很容易地进行更改,并且像一个插入式组件一样工作。我正在使用它,它运作良好。
A drop-in universal solution for moving text fields out of the way of the keyboard
创建两个方法,如下所示,第一个是使视图稍微向上,第二个是将观点带回原来的位置
第一种方法:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, -175);
[UIView commitAnimations];
方法二:考虑使用UITableViewController
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, 175);
[UIView commitAnimations];
[self.destext resignFirstResponder];
呼吁textfieldEditingDidbegin这些方法和DidEndonExit
。否则执行UITextFieldDelegate
并将您的UIView移动到- (void)textFieldDidBeginEditing:(UITextField *)textField
方法中的所需位置。
将视图添加到UIScrollView
。然后使用UITextFieldDelegate
方法设置当触摸textField时的contentOffset
。当用户输入完文字后重置contentOffset
。
我花了一段时间来含住一个很明显的一个,你可能已经尝试过了,但一个是从横向更改为纵向。
我已经创建了UIView的简单子类,它包含UITextView和一个发送按钮,当键盘显示时向上移动,并在键盘隐藏时向下移动。除此之外,UITextView根据文本的大小调整大小。
在这里看一看:
嗨delirus,我已经通过你在答案中提到的链接,但我有一个问题,键盘保持完整的整个应用程序。即使文本字段已结束,它不会辞职 – Rani 2011-05-06 06:01:15