在自定义UIApplication中覆盖sendEvent以检测硬件键盘事件

时间:2015-04-21 20:01:49

标签: ios uiapplication

我正在开发一款需要从硬件键盘读取输入的iPad应用。主要用户将正常触摸屏幕,而另一个用户则通过附近与iPad配对的蓝牙键盘控制应用程序的某些方面。

覆盖UIResponder中的 keyCommands 属性至今仍然完美无缺。但是当我们将应用程序移动到Cocos2d(使用自己的响应程序链)时,所有 keyCommands 的东西都停止了工作。

我尝试使用重写的 sendEvent:方法对UIApplication进行子类化,这很简单:

#import "MyUIApplication.h"

@implementation MyUIApplication  // subclass of UIApplication

-(void)sendEvent:(UIEvent *)event {
    [super sendEvent:event];
    NSLog(@"Event detected");
}

据我所知,这成功检测到除之外的所有事件(硬件键盘事件),这些事件似乎完全被忽略。有没有办法在不使用 keyCommands UIKeyCommand 的情况下检测这些事件?

0 个答案:

没有答案