MessageKit点击inputBar无响应 手机软键盘无法弹出问题求助
解决方案
- 排查模拟器设置
如果使用Xcode模拟器测试,请确认模拟器顶部菜单栏I/O -> Keyboard -> Connect Hardware Keyboard未被勾选,取消勾选后即可正常唤起软键盘,真机测试可直接跳过该步骤。 - 调整第一响应者触发时机
直接在viewDidAppear中调用becomeFirstResponder时,可能存在输入框未完全挂载到视图层级的问题,可添加微小延迟触发调用,修改viewDidAppear代码如下:
override func viewDidAppear(_ animated: Bool) { super.viewDidAppear(animated) DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) { self.messageInputBar.inputTextView.becomeFirstResponder() } }
- 补充第一响应者权限配置
在当前NoteDetailViewController中重写canBecomeFirstResponder属性,确保页面支持获取第一响应状态:
override var canBecomeFirstResponder: Bool { return true }
同时可在viewDidLoad的末尾额外添加一行self.becomeFirstResponder()辅助触发。
- 版本兼容排查
如果你使用的是3.0.0以下版本的MessageKit,该问题属于已知版本bug,升级MessageKit到最新稳定版即可解决。
内容的提问来源于stack exchange,提问作者user9650660
相关产品推荐
相关产品推荐

