首页 > 解决方案 > SwiftUI 中的键盘快捷键

问题描述

我正在制作一个 SwiftUI 应用程序,我想使用菜单栏添加键盘快捷键。我已经在所有设备上看到了苹果的视频 SwiftUI,但我不知道他们是如何将其集成menu.xib到他们的应用程序中的。

#if targetEnvironment(macCatalyst)
// MacOS
#else
// iOS
#endif

也不行。我试图在我的项目中添加一个菜单栏,但我无法编译。你知道如何添加一个吗?

标签: swiftmacosswiftui

解决方案


在 SwiftUI 2.0(在 BigSur Beta3 上)中,您可以像这样非常简单地将菜单添加到 Mac 应用程序:

@main
struct AppWithMenue: App {
  var body: some Scene {
    WindowGroup {
      ContentView()      
    }
    .commands {
      MyCommands()
    }
  }
}

struct MyCommands : Commands{
  var body: some Commands {
    CommandMenu("MyCommands") {
      Section {
        Button("Command 1", action: {print ("Command 1")})
        .keyboardShortcut("1")
        Button("Command 2", action: {print ("Command 2")})
          .keyboardShortcut("2")
      }
    }
  }
}

推荐阅读