在不添加完成键的情况下关闭数字键盘式键盘

时间:2011-07-13 13:25:12

标签: objective-c ios cocoa-touch uikeyboard

数字键盘型键盘上没有 Done 按钮。我不想添加自定义 Done 按钮,但如何解除键盘?

2 个答案:

答案 0 :(得分:4)

您可以使用完成按钮( UIBarButtonItem )添加 UINavigationBar / UIToolBar ,并在完成后使textField / textView resignFirstResponder 按钮的动作。

您可以将 UINavigationBar / UIToolBar 添加为textField / textView的 inputAccessoryView

textField.inputAccessoryView = aNavBarWithDoneButton;

编辑可用性iOS(3.2及更高版本)

答案 1 :(得分:2)

最简单的解决方案是在用户界面的某个位置添加一个新按钮,在点按时resignFirstResponder(或其他)调用UITextField。将它放在工具栏中会在iPhone上出现问题,因为工具栏通常位于屏幕的底部并被键盘遮挡。

稍微复杂的解决方案是在所有其他可点击的UI元素后面放置一个不可见的UIView。现有用户界面未处理的任何点按都会转到此新视图,该视图可在您的文字字段上调用resignFirstResponder

如果这些都不具吸引力,或许你应该扩展你的问题以包括你想要的行为类型。