TextField- KeyBoard优化 - iOS

时间:2013-06-27 20:40:25

标签: ios

每当我点击文本字段时,键盘弹出并部分阻止其他文本字段,如图中所示,我该如何管理它?我想要在右下角的最后一个文本字段填充,然后第二行应该是可见的!顺便说一下,在ViewController顶部滚动视图。

-(void)ViewDidLoad
{
   [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidShow:) name:UIKeyboardDidShowNotification object:nil];
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil];

}
 - (void)keyboardDidShow:(NSNotification *)notification
    {
             [self.view setFrame:CGRectMake(0,-260,1030,768)]; 
    }

-(void)keyboardDidHide:(NSNotification *)notification
{
    [self.view setFrame:CGRectMake(0,0,1030,768)];

}

enter image description here

3 个答案:

答案 0 :(得分:0)

将视图包装在UIScrollView中!

答案 1 :(得分:0)

您需要设置对UIKeyboardWillChangeFrameNotificationUIKeyboardDidChangeFrameNotificationUIKeyboardDidShowNotificationUIKeyboardDidHideNotification的观察。当您收到通知时,您将触发移动/调整视图内容和正在显示的键盘大小的触发器,以便您知道移动/调整其大小。


您可能还会发现充当文本字段的代理并实现textFieldDidBeginEditing:很有用。调用此方法时,您知道提供的文本字段应该是可见的。您可以获取文本字段的框架(如果在进入滚动视图之前有多个超级视图,则可能需要翻译)并将其用于scrollRectToVisible:animated:(或仅设置contentOffset)。

答案 2 :(得分:0)

键盘弹出时需要更改视图大小,键盘消失后需要更改。当键盘出现/消失时,使用滚动视图和键盘通知或文本字段委托方法。