这两天遇到控制器上的输入框会因为键盘收起,控制器上的self.View会上移
可能因为显示和隐藏导航栏引起
可能因为第三方键盘
随后发现是因为在ViewDidLoad方法里面提前写了 [self.textfield becomeFirstResponder];
这个可能就造成了导航栏还没放进来,键盘那边可能还没正确识别到整个view的高度
所以改为在viewDidAppear中再写上 [self.textfield becomeFirstResponder]; 这样就不会有问题了
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[self.textfield becomeFirstResponder];
}
当然你也可以在ViewDidLoad方法里面等3秒后再执行 [self.textfield becomeFirstResponder]; 但是没必要这样麻烦,还得开一个线程
以前可能遇到过,在此记录一下