iPad虚拟键盘将在(至少)这三种情况中消失:
在所有情况下,我都会获得UIKeyboardWillHideNotification
。
问题是前两种情况通常是等价的 - 换句话说,用户完成了对文本字段的编辑。但在第三种情况下,文本字段仍在编辑中,只是来自另一个输入源。
问题在于检测案例2和3之间的区别。我在两种情况下都得到UIKeyboardWillHideNotification
。在案例2中,我通常还想锁定编辑控件并提交值。在案例3中,我通常不想做任何事情并允许继续编辑。
但我怎么能区分呢?
Apple的Pages应用程序似乎能够在文档标题重命名上区分它。
答案 0 :(得分:2)
我会查看通过通知传递的UIKeyboardBoundsUserInfoKey。物理键盘可能有空边界。
答案 1 :(得分:2)
听起来你只想弄清楚用户何时完成编辑。您可以听取案例1和2的UITextFieldTextDidEndEditingNotification
通知。
一个更简单的解决方案是,你不能只检查editing
的{{1}}属性,以确定它是否仍然应该编辑?我没有物理键盘,所以我无法测试这个。我只是在猜测。
我很想知道这是否有效...... :)