1

我正在为 iOS 开发一个自定义键盘,它将有自己的搜索字段(类似地由 PopKey 实现)。

我的键盘的文本字段能够获得焦点,becomeFirstResponder我可以通过使用resignFirstResponder. 但是,在我放弃焦点后,尽管触摸了表单,但主机应用程序很难重新获得焦点。该应用程序的文本字段仍将显示文本光标闪烁。

有任何想法吗?谢谢

4

1 回答 1

4

解决方案是一种 hack,到目前为止,您还不能真正将主机应用程序的焦点重新归还给主机应用程序。

  • 子类 aUITextField并在其委托上 textFieldShouldBeginEditing通过返回来实现NO

  • 添加一个设置为in的BOOL属性(不要与默认属性混淆)isSelectedYEStouchesBeganselected

  • 在您的键盘keyPressed方法中,如果searchField.isSelected,操作searchField.text. 否则,像平常一样操作textDocumentProxy
  • 添加一个clear按钮和方法来擦除searchField.textsearchField.isSelected,允许任何进一步的击键返回到textDocumentProxy
  • 添加复制闪烁类型光标的动画
于 2015-08-04T20:29:38.533 回答