我正在开发一个需要从硬件键盘读取输入的 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");
}
Run Code Online (Sandbox Code Playgroud)
据我所知,这成功地检测到除了硬件键盘事件之外的所有事件,这些事件似乎被完全忽略了。有没有办法在不使用keyCommands和UIKeyCommand的情况下检测这些事件?