SwiftUI:如何在 macOS 应用程序中实现编辑菜单

ixa*_*any 3 nsmenu nsmenuitem swift swiftui swiftui-windowgroup

我正在使用SwiftUI新的App生命周期构建 macOS 应用程序。

启动新项目后,所有默认的 macOS 菜单项(如剪切、复制、粘贴)都已经存在,但它们是灰色的。如何为这些默认菜单项实现方法?

在此处输入图片说明

编辑:我目前在Xcode 12.2 beta 3(20B5012d) 上使用macOS Big Sur 11.0.1 Beta(12B5035g)。我不想用 Storyboards 或 AppDelegate 来解决这个问题,而是用 SwiftUI 和新的App生命周期。

wor*_*dog 5

查看命令修饰符,CommandGroup 和 CommandMenu。

@main
struct MyApp: App {

var body: some Scene {
    WindowGroup {
        ContentView()
    }.commands {
        // for example
        CommandGroup(replacing: .help) {
            Button(action: {someActionHere()}) {
                Text("MyApp Help")
            }
        }
        CommandMenu("Edit") {
            // ...
        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)

  • 这将创建一个名为“编辑”的新菜单,不允许实现现有“编辑”菜单的功能。 (9认同)