如何在 SwiftUI 应用程序中启用自己的菜单项
How to enable own menu item in SwiftUI app
我有带故事板菜单的 SwiftUI 应用程序,我在其中添加了自己的项目,当我 运行 该应用程序时该项目被禁用。我创建了以下 class 以启用它,我从 AppDelegate 中的 applicationDidFinishLaunching 调用了 initMenu 方法,但菜单项仍然处于禁用状态,我还需要做些什么或额外的事情才能启用它?
class MenuActions: NSObject {
func initMenu() {
let mainMenu = NSApplication.shared.mainMenu
mainMenu?.autoenablesItems = false
mainMenu?.item(at: 1)?.submenu?.item(at: 0)?.isEnabled = true
}
@IBAction func new(_ sender: NSMenuItem) {
print("fired")
}
}
在 AppDelegate 中,您只需添加 IBaction
@IBAction func new(_ sender: NSMenuItem) {
print("fired")
}
然后将 Storyboard 文件中的 Menu Item 与该功能连接起来,默认启用。
编辑:
您可以创建自己的菜单 class 来处理 MenuItems 操作,如下所示:
class MenuItems : NSObject {
@IBAction func new(_ sender: NSMenuItem) {
print("fired")
}
}
然后将情节提要中的 Object
添加到应用程序场景并将您的自定义 class 设置为该对象。此后连接您的 IBactions
我有带故事板菜单的 SwiftUI 应用程序,我在其中添加了自己的项目,当我 运行 该应用程序时该项目被禁用。我创建了以下 class 以启用它,我从 AppDelegate 中的 applicationDidFinishLaunching 调用了 initMenu 方法,但菜单项仍然处于禁用状态,我还需要做些什么或额外的事情才能启用它?
class MenuActions: NSObject {
func initMenu() {
let mainMenu = NSApplication.shared.mainMenu
mainMenu?.autoenablesItems = false
mainMenu?.item(at: 1)?.submenu?.item(at: 0)?.isEnabled = true
}
@IBAction func new(_ sender: NSMenuItem) {
print("fired")
}
}
在 AppDelegate 中,您只需添加 IBaction
@IBAction func new(_ sender: NSMenuItem) {
print("fired")
}
然后将 Storyboard 文件中的 Menu Item 与该功能连接起来,默认启用。
编辑:
您可以创建自己的菜单 class 来处理 MenuItems 操作,如下所示:
class MenuItems : NSObject {
@IBAction func new(_ sender: NSMenuItem) {
print("fired")
}
}
然后将情节提要中的 Object
添加到应用程序场景并将您的自定义 class 设置为该对象。此后连接您的 IBactions