实战需求
macOS SwiftUI 键盘教程之监控用户按键
本文价值与收获
看完本文后,您将能够作出下面的界面
看完本文您将掌握的技能
- 按键监控 .background(KeyAwareView(onEvent: { event in print("(event)")
- View如何获取windows DispatchQueue.main.async { view.window?.makeFirstResponder(view) }
- 定义闭包参数 var onEvent: (KeyAwareView.Event) -> Void = { _ in }
- 按钮 KeyboardShortcuts.Key.delete
基础知识
KeyboardShortcuts可让您在几分钟内将对用户可自定义的全局键盘快捷方式的支持添加到macOS应用。它完全兼容沙箱和Mac App Store。
import KeyboardShortcuts
extension KeyboardShortcuts.Name {
static let toggleUnicornMode = Self("toggleUnicornMode")
}
动态键盘快捷键
您的应用可能需要支持键盘快捷键以执行用户定义的操作。通常,您可以在扩展名KeyboardShortcuts.Name {}中静态地预先注册键盘快捷键。但是,这不是必需的。这只是为了方便起见,因此您可以在调用各种API(例如.onKeyDown(.unicornMode){})时使用点语法。您可以动态创建KeyboardShortcut.Name并自己存储。您可以在示例项目中看到这一点。
默认键盘快捷键
如果您要从其他程序包迁移或自己制作东西,则设置默认的键盘快捷键可能很有用。但是,请勿为公开发布的应用设置此设置。当随机应用窃取其现有的键盘快捷键时,用户会感到烦恼。通常,最好在首次启动应用程序时显示一个欢迎屏幕,让用户设置快捷方式。