奇怪,控制器上的UIView 会因为键盘的收起而上移???

这两天遇到控制器上的输入框会因为键盘收起,控制器上的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]; 但是没必要这样麻烦,还得开一个线程

以前可能遇到过,在此记录一下

你可能感兴趣的:(奇怪,控制器上的UIView 会因为键盘的收起而上移???)