iOS [M1適配?]UIKeyCommand接收外接鍵盤輸入

使用場(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)

keyCommandsUIResponder的方法,意味著你重寫的類一定是在事件響應(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ì)顯示
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容