【发布时间】:2010-05-20 16:30:19
【问题描述】:
iPad 虚拟键盘将在(至少)以下三种情况之一中消失:
- 如果控件(例如 UITextField)以编程方式退出第一响应者。
- 如果用户点击右下角的“关闭键盘”按钮。
- 如果用户连接到 USB/键盘底座外围设备。
在所有情况下,我都会收到UIKeyboardWillHideNotification。
问题在于前两种情况通常是等价的——换句话说,用户已经完成了对文本字段的编辑。但在第三种情况下,文本字段仍在编辑中,只是来自另一个输入源。
问题在于检测案例 2 和 3 之间的差异。在这两种情况下我得到的都是UIKeyboardWillHideNotification。在情况 2 中,我通常还想锁定编辑控件并提交值。在第 3 种情况下,我通常什么都不做,让编辑继续进行。
但是我怎么能分辨出来呢?
Apple 的 Pages 应用程序似乎能够在文档标题重命名时区分这一点。
【问题讨论】: