【发布时间】:2020-05-15 14:12:57
【问题描述】:
我有一个小的 iOS 应用程序,我想用 Catalyst 为 macOS 编译它。 该应用程序在 Mac 上可以正常运行,但它是一个计算器应用程序,因此我希望除了单击按钮之外还能够使用键盘输入数字。
我搜索并发现 pressesBegan 的覆盖是这样做的好方法。但是如果我在https://developer.apple.com/documentation/uikit/mac_catalyst/handling_key_presses_made_on_a_physical_keyboard?changes=_8 实现苹果的例子 像这样
override func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?) {
// Run backward or forward when the user presses a left or right arrow key.
var didHandleEvent = false
for press in presses {
guard let key = press.key else { continue }
if key.charactersIgnoringModifiers == UIKeyCommand.inputLeftArrow {
//runBackward()
didHandleEvent = true
}
if key.charactersIgnoringModifiers == UIKeyCommand.inputRightArrow {
//runForward()
didHandleEvent = true
}
}
if didHandleEvent == false {
// Didn't handle this key press, so pass the event to the next responder.
super.pressesBegan(presses, with: event)
}
}
在我的 Appdelegate 课程中,我的指令 key = press.key 出现错误:
“UIPress”类型的值没有成员“键”
阅读 UIPress 类的文档,我在 XCode 文档(UIKit>Touches、Presses 和 Gesture>UIPress)中看不到任何关键成员,但我在 https://developer.apple.com/documentation/uikit/uipress ??
我在 Internet 上没有找到任何关于“'UIPress' 类型的值没有成员'key'”消息的报告
【问题讨论】:
标签: ios swift keyboard mac-catalyst