iPhone键盘隐藏的TextView

时间:2012-12-29 12:48:02

标签: iphone objective-c ios uitextfield

我选择UITextView时可以选择键盘。问题是,当文本太大时,他会在键盘后面。我该如何解决这个问题?

4 个答案:

答案 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。