如何在没有UITextField或UITextView的情况下启动UIKeyboard?

Kri*_*iem 12 iphone uikit uikeyboard

我目前正在为iPhone和iPod touch开发OpenGL ES游戏.

我想知道如何轻松拉起UIKeyboard? 是否存在官方的,有记录的可能性,在不使用UITextField的UITextView的情况下拔出UIKeyboard?

小智 19

如果您继承UIResponder并声明UIKeyInput协议,则当您成为第一个响应者时,键盘将出现.

请在此处查看UIKeyInput协议.

让我失望的一件事是你需要覆盖canBecomeFirstResponder消息.

  • 仅“UIView”子类,而不仅仅是 _any_ UIResponder 子类。我试图使我的 AppDelegate (UIResponder)子类显示键盘,但失败了。 (2认同)

Tim*_*Tim 14

它不是"官方"可能的 - 在遵守Apple的指导原则时,您根本无法访问UIKeyboard对象.

创建一个不可见的UITextField,然后调用[textField becomeFirstResponder]就可以完成这项任务 - 你甚至可以先将UITextField子类化,然后覆盖委托方法textField:shouldChangeCharactersInRange:,将文本输入重定向到你想要的位置.

  • __这个答案现在错了.[请参阅此处了解如何操作](http://stackoverflow.com/questions/7253477/how-to-display-the-iphone-ipad-keyboard-over-a-full-screen-opengl-es- APP) (2认同)