隐藏 iOS 键盘,保持对文本字段的焦点

Hide the iOS keyboard maintaining focus on textfield

本文关键字:文本 字段 焦点 iOS 键盘 隐藏      更新时间:2023-09-26

每当我专注于文本字段时,我想以某种方式隐藏 iOS 中显示的键盘。

当我说"焦点"时,我仍然希望能够从外部键盘输入内容,但不应显示iOS虚拟键盘。

以前 SO 问题中不适用的内容:

  • [textfield resignFirstResponder] -->隐藏了iOS键盘,但无法再从外部键盘获取输入事件。
  • [查看结束编辑:是] -->不起作用。 同上。
  • JavaScript onblur() 失焦不适用。

有没有人知道一种隐藏键盘但仍能收听关键事件的方法?

如果有人偶然遇到类似的困境,我将在这里回答我自己的问题。

大多数答案都涉及从文本中失去焦点或辞职第一响应者。但是,当这不是一个选项时,就像我想在 iOS 网络视图中收听键盘事件一样

您所要做的就是在视图控制器中实现UIKeyInput。现在,一旦您执行此操作,键盘就会出现。否,使键盘消失,只需重新实现高度为 0 的自定义键盘视图即可。

如果您希望键盘在您过渡到其他屏幕后立即显示,则可以在离开屏幕后立即退出第一个转发器,并为 UIView 返回 nil 而不是键盘视图。