在iOS中交换标准键盘的自定义inputView

Cra*_*ith 7 keyboard ios inputview swift

我有一个特定文本字段的自定义inputView,它运行良好.但是,我无法辨别如何关闭视图并恢复常规键盘.(我在TextField旁边有一个SWAP按钮.)我尝试将textfield的inputView设置为nil,但这没有做任何事情.

我不需要一个完整的自定义键盘,但我需要的不仅仅是键盘上方的附件视图,这就是我尝试这条路线的原因.除常规键盘外,我还需要大约20个自定义按钮,我不喜欢巨大的附件视图占用太多空间的想法.

在能够使用该应用程序之前,我也不想要求用户最初安装完整的自定义键盘.

非常感谢您的任何建议.

小智 9

我想你可能不得不这样做:

  1. 打电话resignFirstResponderUITextField
  2. 动画结束后,将您设置inputViewnil
  3. 调用becomeFirstResponder文本字段

键盘动画持续时间userInfo在键盘演示通知的字典中发送.


ada*_*mup 5

除了已接受的答案,您还可以使用reloadInputViews()(这不太可能遭受resignFirstResponder调用firstFirstResponder引起的动画故障):

  1. yourTextField.inputView = nil;
  2. yourTextField.reloadInputViews();

这是Apple Docs中的更多信息。