使用場(chǎng)景
給你的應(yīng)用支持外接鍵盤,iOS應(yīng)用或iPad應(yīng)用。有人可能會(huì)問,為啥一個(gè)iOS應(yīng)用要支持外接鍵盤?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__);
}
注意點(diǎn)
keyCommands是UIResponder的方法,意味著你重寫的類一定是在事件響應(yīng)鏈上的,如果沒有觸發(fā),可以嘗試becomeFirstResponder
模擬器測(cè)試
需要設(shè)置兩個(gè)地方,模擬器才會(huì)接收到你的鍵盤輸入
image
image
最后一點(diǎn)
接入正確,設(shè)置正確后,并且模擬器在屏幕最前方,這個(gè)時(shí)候你長(zhǎng)按command,可以看到你剛才設(shè)置的快捷鍵列表。
快捷鍵列表呼出的條件:
- 只有iPad應(yīng)用可以呼出
- 只有設(shè)置過少才會(huì)顯示,太多也不會(huì)顯示