Я новичок в iOS разработке. После обучения я создал простой калькулятор с помощью SwiftUI.
У меня есть клавиатура, подключенная к iPad, и я хотел бы иметь возможность вводить значения с помощью клавиатуры.
Как я могу захватывать и обрабатывать события аппаратной клавиатуры в приложении SwiftUI (без текстового поля)? Я попытался использовать ключевые команды на SceneDelegate (UIResponder), как показано здесь, но это не работает для меня. Как только я нажимаю любую клавишу на своем 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")
}
Спасибо