macOS SwiftUI 经典开源库之监控用户按键 KeyboardShortcuts (教程含源码)

实战需求

macOS SwiftUI 键盘教程之监控用户按键

本文价值与收获

看完本文后,您将能够作出下面的界面

macOS SwiftUI 经典开源库之监控用户按键 KeyboardShortcuts (教程含源码)_第1张图片
macOS SwiftUI 键盘教程之监控用户按键
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 {}中静态地预先注册键盘快捷键。但是,这不是必需的。这只是为了方便起见,因此您可以在调用各种AP​​I(例如.onKeyDown(.unicornMode){})时使用点语法。您可以动态创建KeyboardShortcut.Name并自己存储。您可以在示例项目中看到这一点。

默认键盘快捷键

如果您要从其他程序包迁移或自己制作东西,则设置默认的键盘快捷键可能很有用。但是,请勿为公开发布的应用设置此设置。当随机应用窃取其现有的键盘快捷键时,用户会感到烦恼。通常,最好在首次启动应用程序时显示一个欢迎屏幕,让用户设置快捷方式。


实战代码

你可能感兴趣的:(macOS SwiftUI 经典开源库之监控用户按键 KeyboardShortcuts (教程含源码))