每当我点击文本字段时,键盘弹出并部分阻止其他文本字段,如图中所示,我该如何管理它?我想要在右下角的最后一个文本字段填充,然后第二行应该是可见的!顺便说一下,在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)];
}
答案 0 :(得分:0)
将视图包装在UIScrollView中!
答案 1 :(得分:0)
您需要设置对UIKeyboardWillChangeFrameNotification
和UIKeyboardDidChangeFrameNotification
或UIKeyboardDidShowNotification
和UIKeyboardDidHideNotification
的观察。当您收到通知时,您将触发移动/调整视图内容和正在显示的键盘大小的触发器,以便您知道移动/调整其大小。
您可能还会发现充当文本字段的代理并实现textFieldDidBeginEditing:
很有用。调用此方法时,您知道提供的文本字段应该是可见的。您可以获取文本字段的框架(如果在进入滚动视图之前有多个超级视图,则可能需要翻译)并将其用于scrollRectToVisible:animated:
(或仅设置contentOffset
)。
答案 2 :(得分:0)
键盘弹出时需要更改视图大小,键盘消失后需要更改。当键盘出现/消失时,使用滚动视图和键盘通知或文本字段委托方法。