0
是否有任何可能的方法檢測屏幕鍵盤和/或外部鍵盤上的iOS上的所有按鍵?these?我知道「接受」的方式來捕捉打字文本是使用一個不可見的文本框,但似乎只抓住了「文本」,而不是實際的按鍵(沒有Ctrl,Alts,Shift等)從屏幕和/或外部鍵盤檢測iOS中的按鍵
我可以在文檔中找不到任何暗示這是可能的東西,儘管它看起來很基本。我錯過了什麼,或者我們真的不能在iOS中實現這一目標?
謝謝!
是否有任何可能的方法檢測屏幕鍵盤和/或外部鍵盤上的iOS上的所有按鍵?these?我知道「接受」的方式來捕捉打字文本是使用一個不可見的文本框,但似乎只抓住了「文本」,而不是實際的按鍵(沒有Ctrl,Alts,Shift等)從屏幕和/或外部鍵盤檢測iOS中的按鍵
我可以在文檔中找不到任何暗示這是可能的東西,儘管它看起來很基本。我錯過了什麼,或者我們真的不能在iOS中實現這一目標?
謝謝!
您可以覆蓋的ViewController的keyCommands添加觸發器動作:
例如:
//MyViewController
override var keyCommands: [UIKeyCommand]?{
//Get UIKeyCommand
var keys = [UIKeyCommand]()
//Add triggle for Num only
for num in "123456789".characters {
keys.append(
UIKeyCommand(input:String(num),modifierFlags:
UIKeyModifierFlags(rawValue: 0), action:
#selector(MyViewController.keyCommand(_:)), discoverabilityTitle:
NSLocalizedString("keydiscover_number",
comment: "KeyDiscover Number")))
}
}
//The Triggle
func keyCommand(_ sender: UIKeyCommand) {
print("Number Clicked");
}
https://developer.apple.com/documentation/uikit/uiresponder/1621141-keycommands
在你keyCommand回調,我沒有看到任何人知道哪個鍵雖然被壓了。我真的需要爲每一個可能的密鑰回撥嗎? –
你可以檢查按下哪個按鍵triggle:let theEvent = sender.input ifEvent == UIKeyInputDownArrow { return moveDown(theEvent as AnyObject) } – slee