0

每当我单击文本字段时,键盘会弹出并部分阻止图像中看到的其他文本字段,我该如何管理它?我希望每当右下角的最后一个文本字段被填充时,第二行应该是向上且可见的!顺便说一下,在 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)];

}

在此处输入图像描述

4

3 回答 3

0

将您的视图包裹在 UIScrollView 中!

于 2013-06-27T20:41:53.357 回答
0

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


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

于 2013-06-27T20:42:41.030 回答
0

您需要在键盘出现时更改视图大小,并在键盘消失时将其更改回来。在键盘出现/消失时使用滚动视图和键盘通知或文本字段委托方法。

于 2013-06-27T20:43:28.213 回答