iOS [M1适配?]UIKeyCommand接收外接键盘输入

使用场景

给你的应用支持外接键盘,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__);
}

注意点

keyCommandsUIResponder的方法,意味着你重写的类一定是在事件响应链上的,如果没有触发,可以尝试becomeFirstResponder

模拟器测试

需要设置两个地方,模拟器才会接收到你的键盘输入


image

image

最后一点

接入正确,设置正确后,并且模拟器在屏幕最前方,这个时候你长按command,可以看到你刚才设置的快捷键列表。

快捷键列表呼出的条件:

  • 只有iPad应用可以呼出
  • 只有设置过少才会显示,太多也不会显示
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容