在iOS 9之前,确定是否连接外部键盘的最可靠方法是监听UIKeyboardWillShowNotification并将文本字段作为第一响应者,如本问题中所述.使用虚拟键盘时会触发通知,但使用外部键盘时不会触发.
但是,iOS 9现在已经改变了这种行为,UIKeyboardWillShowNotification当连接外部键盘时也会触发,因为现在显示了新的键盘工具栏.
仍然可以检测键盘高度并判断它是较小的工具栏还是正在显示的较大的虚拟键盘.然而,这种方法是不可靠的,因为键盘高度在各种beta之间已经改变,并且不能指望随着时间的推移保持不变.
有没有更可靠的方法可以用于iOS 9?