不添加“完成”按钮如何关闭数字键盘式的键盘?

4

数字键盘类型的键盘上没有完成按钮。我不想添加自定义的完成按钮,但我该如何关闭键盘?


你想使用工具栏吗? - Legolas
是的,但它也应该兼容iOS 3.1.3。 - Rakesh Bhatt
当您触摸视图时,您想要将其关闭吗?您可以将视图设置为UIControl,并使数字键盘消失。嗯...通常的做法是在键盘内部放置一个UIToolBar或完成按钮。 - Legolas
2个回答

4

您可以添加一个带有“完成”按钮(一个UIBarButtonItem)的UINavigationBar/UIToolBar,并在完成按钮的操作上使textField/textView resignFirstResponder

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

textField.inputAccessoryView = aNavBarWithDoneButton;

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


我可以使用键盘添加或附加那个工具栏吗? - Rakesh Bhatt
是的。它是在iOS 3.2中引入的。它在低版本中无法工作。 - EmptyStack

2
最简单的解决方案是在您的用户界面中添加一个新按钮,当点击该按钮时调用UITextField(或其他)上的resignFirstResponder。在iPhone上将其放入工具栏中存在问题,因为工具栏通常位于屏幕底部并被键盘遮挡。
稍微复杂一些的解决方案是在所有可点击的UI元素后面放置一个不可见的UIView。未被现有UI处理的任何触摸都会传递到这个新视图,该视图可以在您的文本字段上调用resignFirstResponder
如果以上两种方法都不适合您,也许您应该扩展您的问题,包括您想要的行为类型。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接