我正在开发一款需要从硬件键盘读取输入的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 的情况下检测这些事件?