使用场景
给你的应用支持外接键盘,iOS应用或iPad应用。有人可能会问,为啥一个iOS应用要支持外接键盘?M1就是答案😊
如何使用
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (NSArray<UIKeyCommand *> *)keyCommands{
UIKeyCommand *command = [UIKeyCommand commandWithTitle:@"shift+e" image:nil action:@selector(eShiftKeyPressed) input:@"e" modifierFlags:UIKeyModifierShift propertyList:nil];
return @[command];
}
- (void)eShiftKeyPressed{
NSLog(@"%s ==",__func__);
}
注意点
keyCommands是UIResponder
的方法,意味着你重写的类一定是在事件响应链上的,如果没有触发,可以尝试becomeFirstResponder
模拟器测试
需要设置两个地方,模拟器才会接收到你的键盘输入
最后一点
接入正确,设置正确后,并且模拟器在屏幕最前方,这个时候你长按command
,可以看到你刚才设置的快捷键列表。
快捷键列表呼出的条件:
- 只有iPad应用可以呼出
- 只有设置过少才会显示,太多也不会显示