7

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

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

我也不想要求用户在能够使用该应用程序之前先安装一个完整的自定义键盘。

非常感谢您的任何建议。

4

2 回答 2

10

我认为您可能必须这样做:

  1. 致电resignFirstResponder_UITextField
  2. 动画结束后,设置inputViewnil
  3. 调用becomeFirstResponder文本字段

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

于 2015-05-23T20:22:49.960 回答
7

除了接受的答案之外,您还可以使用reloadInputViews()(这不太可能遭受由 resignFirstResponder 和 becomeFirstResponder 调用导致的任何动画故障):

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

这是Apple 文档中的更多信息。

于 2017-03-09T17:11:43.133 回答