iPad的虚拟键盘至少会在以下三种情况下消失:
问题在于前两种情况通常是相等的——也就是说,用户已经完成了文本字段的编辑。但是在第三种情况下,文本字段仍在被编辑,只是输入源不同而已。
检测第2种和第3种情况之间的区别是问题所在。在这两种情况下,我都只收到
但我该如何区分它们呢?
苹果的Pages应用程序似乎可以在重命名文档标题时区分它们。
- 如果控件(例如,一个UITextField)在程序中通过代码主动取消第一响应者(即结束编辑)。
- 如果用户点击右下角的“收起键盘”按钮。
- 如果用户连接到USB/键盘底座外设。
UIKeyboardWillHideNotification
通知。问题在于前两种情况通常是相等的——也就是说,用户已经完成了文本字段的编辑。但是在第三种情况下,文本字段仍在被编辑,只是输入源不同而已。
检测第2种和第3种情况之间的区别是问题所在。在这两种情况下,我都只收到
UIKeyboardWillHideNotification
通知。在第2种情况中,我通常还要锁定编辑控件并提交值。在第3种情况下,我通常不想执行任何操作,允许编辑继续进行。但我该如何区分它们呢?
苹果的Pages应用程序似乎可以在重命名文档标题时区分它们。