【发布时间】:2022-11-14 09:21:31
【问题描述】:
我正在创建一个 NSViewRepresentable 视图以在 SwiftUI 代码中使用 NSView。
我需要NSViewRepresentable 代码通过NSApp.mainMenu 属性自定义应用程序的主菜单。
但事实证明,该任务的合格 AppKit 代码在 SwiftUI 环境中不起作用。通过调试主菜单,我看到我添加到菜单中的项目出现在 NSMenu 实例中,但这些项目没有显示在 SwiftUI 应用程序菜单中,但它们显示在 AppKit 应用程序菜单中。
调试显示,在 SwiftUI 环境下,应用的主菜单使用 SwiftUI.AppKitMainMenuItem 对象而不是 NSMenuItem。但它是我不能使用的苹果私人课程。
如何在 SwiftUI 环境中实现这一点?我真的需要在我的 NSViewRepresentable 类中使用 Cocoa 代码库来完成这项工作,因为我正在为 AppKit、UIKit 和 SwiftUI 开发通用扩展。
【问题讨论】: