【发布时间】:2020-05-04 22:47:03
【问题描述】:
我是 iOS 开发新手。按照教程,我使用 SwiftUI 创建了一个简单的计算器。
我的 iPad 上连接了一个键盘,我希望能够使用键盘输入值。
如何在 SwiftUI 应用程序(没有文本字段)中捕获和处理硬件键盘事件? 我尝试在 SceneDelegate (UIResponder) 上使用 keyCommands,如此处所示,但这对我不起作用。只要我按下 iPad 上的任何键,我就会在 XCode 跟踪视图中看到“与守护程序的连接已失效”。
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
var window: UIWindow?
override var canBecomeFirstResponder: Bool {
return true;
}
override var keyCommands: [UIKeyCommand]? {
return [
UIKeyCommand(input: "a", modifierFlags: [], action: #selector(test)),
UIKeyCommand(input: UIKeyCommand.inputLeftArrow, modifierFlags: [], action: #selector(test))
]
}
@objc func test(_ sender: UIKeyCommand) {
print("test was pressed")
}
谢谢
【问题讨论】:
标签: swiftui uikeycommand