首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何通过全屏OpenGL ES应用程序显示iPhone/iPad键盘

如何通过全屏OpenGL ES应用程序显示iPhone/iPad键盘
EN

Stack Overflow用户
提问于 2011-08-31 14:45:21
回答 1查看 9.4K关注 0票数 19

我正在开发一个需要键盘输入的应用程序。我的应用程序使用OpenGL ES进行显示,我有自己的图形框架,可以显示文本字段,并且知道如何管理光标和渲染文本。这段代码在其他有物理键盘的平台上工作得很好,比如Windows和OS。

要让我的应用程序的iOS版本正常工作,我只需要能够以编程方式上下移动键盘,还可以将用户的按键事件放到我的视图中,这样我就可以将它们路由到框架自己的事件系统中。

我看到了this question,但我不能让那里描述的解决方案工作。不确定是因为我做错了什么,还是因为它不能在当前的iOS版本上工作。

编辑:这将有助于指向一个工作的应用程序与源代码,以编程方式创建任何UI元素,并将其显示在GL ES屏幕上。如果我理解了这部分,我想我可以弄清楚剩下的部分。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-01 06:58:46

我不能给你一个工作的例子,但我相信你要找的就在这里,http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIKeyInput_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIKeyInput

基本思想是在UIResponder对象(如UIView )上实现UIKeyInput协议。使视图成为firstResponder,键盘将自动出现。当用户按下键盘上的按钮时,UIKeyInput协议为您提供插入字符和删除字符的简单反馈。

这不是正常工作的代码,但它看起来像这样:

代码语言:javascript
复制
@interface MyKeyboardView : UIView <UIKeyInput>
@end

@implementation MyKeyboardView
- (void)insertText:(NSString *)text {
    // Do something with the typed character
}
- (void)deleteBackward {
    // Handle the delete key
}
- (BOOL)hasText {
    // Return whether there's any text present
    return YES;
}
- (BOOL)canBecomeFirstResponder {
    return YES;
}
@end

连接视图后,使其成为显示键盘的第一个响应者

代码语言:javascript
复制
[myView becomeFirstResponder];

或辞去first responder以解雇键盘

代码语言:javascript
复制
[myView resignFirstResponder];

编辑:确保您的视图附加到视图层次结构,否则这可能不会做任何事情。

票数 22
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7253477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档