我选择UITextView
时可以选择键盘。问题是,当文本太大时,他会在键盘后面。我该如何解决这个问题?
答案 0 :(得分:2)
通过此代码移动您的视图
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
//change origin y
[UIView beginAnimations:nil context:self.view];
[UIView setAnimationDuration:0.25];
[self.view setFrame:CGRectMake(0,-150,320,436)];
[UIView commitAnimations];
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
//reset origin y
[UIView beginAnimations:nil context:self.view];
[UIView setAnimationDuration:0.25];
[self.view setFrame:CGRectMake(0,0,320,436)];
[UIView commitAnimations];
}
根据您的要求设置x和y值。
答案 1 :(得分:0)
这个问题已经被多次询问了。在发布问题之前请做一些谷歌搜索。总之...
请参阅其他人提出的this question,并成为社区维基。这个问题已经发布了31个答案。
另外,您可以咨询this tutorial
答案 2 :(得分:0)
在编辑UITextField时更改基本视图大小,减少基本视图orgin origin y以编辑文本字段
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
//change origin y
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
//reset origin y
}
答案 3 :(得分:0)
使用UITextfield
的委托方法。
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
[UIView beginAnimations:nil context:self.view];
[UIView setAnimationDuration:duration];
//change origin y
[self.view setFrame:CGRectMake(X,newY,width,height)];
[UIView commitAnimations];
}
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
[UIView beginAnimations:nil context:self.view];
[UIView setAnimationDuration:duration];
//reset origin y
[self.view setFrame:CGRectMake(X,Y,width,height)];
[UIView commitAnimations];
}
不要忘记在“.h”文件和相应的文本文件textfiled.delegate = self
中设置UITextFieldDelegate。