从屏幕和/或外部键盘检测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