我有一个应用程序,其中有2个文本字段和textview。当我点击第一个文本字段时,我的键盘弹出,他们的没有问题,但当我输入第二个文本字段时,我的键盘弹出并覆盖文本字段。
我希望当我点击第二个文本字段时,文本字段应向上移动一点,以便我可以输入并且我有一个textview。但我已经为textview编写了代码,这样当我输入textview时它会自动移动。
问题出在textfield上。我该如何解决这个问题?
答案 0 :(得分:3)
考虑使用UITableViewController。否则实现UITextFieldDelegate
并将您的UIView移动到- (void)textFieldDidBeginEditing:(UITextField *)textField
方法中的所需位置。
答案 1 :(得分:1)
查看下面的链接 - 解决方案由Micheal Tyson撰写。它解决了UITableView和UIScrollView的问题,可以轻松更改,并且可以作为插入组件使用。我正在使用它并且效果很好。
A drop-in universal solution for moving text fields out of the way of the keyboard
答案 2 :(得分:0)
创建两个方法,如下面给出的,第一个用于将视图略微向上,第二个用于将视图恢复到原始位置
第一种方法:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, -175);
[UIView commitAnimations];
第二种方法:
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:.3];
self.view.transform = CGAffineTransformTranslate(self.view.transform, 0, 175);
[UIView commitAnimations];
[self.destext resignFirstResponder];
在textfieldEditingDidbegin和DidEndonExit
上调用这些方法答案 3 :(得分:0)
将视图添加到UIScrollView
。然后,当点按textField时,使用UITextFieldDelegate
方法设置contentOffset
的{{1}}。用户输入完文本后重置scrollView
。
答案 4 :(得分:0)
你可能已经尝试过的一个显而易见的问题,但是我需要一段时间才能抓住它,是从风景变为肖像。
答案 5 :(得分:0)
我创建了一个UIView的简单子类,其中包含UITextView和一个发送按钮,当键盘显示时向上移动,当键盘隐藏时向下移动。除此之外,UITextView还会根据其中的文本大小进行调整。
看看这里: