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

SwiftUI:如何在macOS应用程序中实现编辑菜单,swift,swiftui,nsmenu,nsmenuitem,swiftui-windowgroup,Swift,Swiftui,Nsmenu,Nsmenuitem,Swiftui Windowgroup,我正在使用SwiftUI和新的app生命周期构建macOS应用程序 启动新项目后,所有默认macOS菜单项(如剪切、复制、粘贴)都已存在,但它们已变灰如何实现这些默认菜单项的方法? 编辑:我目前正在使用macOS Big Sur 11.0.1 beta(20B5012d)上的Xcode 12.2 beta 3(12B5035g)。我不想用故事板或AppDelegate解决这个问题,而是想用SwiftUI和新的应用程序生命周期解决这个问题。看看命令修改器、命令组和命令菜单 @main struc

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

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


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

看看命令修改器、命令组和命令菜单

@main
struct MyApp: App {

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

您是否尝试选择一些文本,然后选择“复制”?对我来说,它们是开箱即用的,可以说没有任何额外的代码。或者你需要复制一些自定义类型吗?你是对的,如果我选择一个文本字段的内容,它是现成的。但是,如果没有特定的输入字段,我希望能够运行自定义复制功能。您可能需要澄清您使用的macOS和Xcode版本。我刚刚澄清了我的原始问题。我喜欢这篇文章。这解释得更多一些。