iOS 9 之前,检测外接键盘连接的最可靠方法是监听 UIKeyboardWillShowNotification
并将文本字段设置为第一响应者,如此问题所述。虚拟键盘时,通知会被触发,但使用外接键盘时不会触发。
然而,随着 iOS 9 的到来,这种行为已经改变了。由于现在会显示新的键盘工具栏,因此连接外接键盘时也会触发 UIKeyboardWillShowNotification
。
仍然可以检测键盘高度并判断显示的是较小的工具栏还是较大的虚拟键盘。但是,由于键盘高度在各个测试版之间已经发生了变化,所以这种方法不可靠,并且不能保证随时间而保持不变。
是否有更可靠的方法可用于 iOS 9?