我有一个私人iOS应用程序,我想使用通过蓝牙连接的外部键盘进行控制。我不想在我的应用中使用UITextField
或UITextView
,或者至少我不希望键盘一直显示。有没有办法让我从物理键盘听这些键盘事件?感谢。
答案 0 :(得分:1)
<强> UIKeyCommands 强>
要从键盘上听键,您可以覆盖ViewController上的keyCommands
变量(它是一个数组,因此您可以放置许多快捷键):
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "Q",
modifierFlags: [],
action: #selector(self.close),
discoverabilityTitle: "Close app")
]
}
func close() {
exit(0)
}
输入是使用的关键,例如CMD + Q(仅放Q)。 Action是调用的选择器和discoverabilityTitle是快捷方式的标题,例如&#34;关闭应用程序&#34;。当用户持有CMD密钥时,它将显示在iPad中。
它仅适用于CMD键和其他特殊键:
UIKeyInputUpArrow
UIKeyInputDownArrow
UIKeyInputLeftArrow
UIKeyInputRightArrow
UIKeyInputEscape
答案 1 :(得分:0)
这对我很有帮助:https://www.avanderlee.com/swift/uikeycommand-keyboard-shortcuts/
我必须添加canBecomeFirstResponder覆盖才能使其正常工作。