是否可以为应用程序中的所有键盘添加完成键?

Is it possible to add a Done key to ALL keyboards in an app?

是否可以向 iOS 应用中的所有键盘添加关闭键盘的完成或取消键?有几个帖子询问如何通过取消或完成按钮关闭键盘,但 solutions are on a field by field 基础。

是否有任何解决方案可以在全局范围内添加此功能,这样就不需要为应用程序中的每个 textfield/area 复制代码?

是的,您可以向 UITextField 添加扩展 class,它应该添加一个带有完成和取消操作的 UIToolbar 作为 UITextField inputAccessoryView。

嗯,在那种情况下,您必须自定义键盘,构建您自己的键盘,并使用键盘中的键做任何您需要做的事情。

就像@silentBob 在 中所说的那样,当文本字段是第一响应者时,文本字段的inputAccessoryView 是显示在键盘上方的视图。如果你不想在 UITextField 上写一个扩展来覆盖 -inputAccessoryView 方法,你也可以创建一个 UITextField 的子 class 来做同样的事情,这将更容易确定将要调用的方法。您还可以拥有 UITextField 的多个子 class 来自定义显示哪个按钮。如果故事板中有文本字段,您只需将 class 更改为您的自定义子 class,因此虽然您必须完成并进行这些更改,但您不必这样做在代码中。