iOS 11 导航栏输入框第一响应遇到的问题

当项目需求是在导航栏上面输入搜索功能的时候,一般都会有进来界面会做个第一响应的操作,之前我们一般都是在viewWillAppear方法里面去做这个第一响应的操作的,但是会有小小的问题,
- (void)viewWillAppear:(BOOL)animated
  {
     [super viewWillAppear:animated];
     [self.textField becomeFirstResponder];
}

- (void)viewDidLoad {
   [super viewDidLoad];
   [self.view addSubview:self.textField];
   [self.textField becomeFirstResponder];
}
然而在iOS11 就不行了,每次刚Push进来的时候,键盘是弹出来了,但是瞬间就又缩回去了,视图还将要出现,包括在viewDidLoad方法里面去写第一响应都不行,都会出现这个问题。
经过一番测试,最终的解决办法就是让视图已经加载完成并出现的时候去做这个操作:
- (void)viewDidAppear:(BOOL)animated
{
   [super viewDidAppear:animated];

   [self.textField becomeFirstResponder];
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容