【问题标题】:SwiftUI: How to implement Edit menu in macOS appSwiftUI:如何在 macOS 应用程序中实现编辑菜单
【发布时间】:2021-02-13 20:38:10
【问题描述】:

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

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

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

【问题讨论】:

  • 您是否尝试选择一些文本然后选择复制?对我来说,它们开箱即用,可以说没有任何额外的代码。还是需要复制一些自定义类型?
  • 你说得对,例如,如果我选择 TextField 的内容,它就可以开箱即用。但是,如果没有关注特定的输入字段,我希望能够运行自定义复制功能。
  • 您可能需要说明您使用的是什么版本的 macOS 和 Xcode。
  • 我刚刚澄清了我原来的问题。

标签: swift swiftui nsmenu nsmenuitem swiftui-windowgroup


【解决方案1】:

查看命令修饰符、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") {
            // ...
        }
    }
}
}

【讨论】:

猜你喜欢
  • 2022-06-15
  • 1970-01-01
  • 2020-05-05
  • 2021-02-25
  • 2014-08-05
  • 1970-01-01
  • 1970-01-01
  • 2023-01-21
  • 1970-01-01
相关资源
最近更新 更多