将菜单项添加到扩展坞中的右键单击应用程序菜单会导致每次单击

时间:2019-03-24 08:44:52

标签: swift macos cocoa

所以我一直试图在右键菜单中添加项目 当您右键单击macOS中扩展坞中的应用程序图标

但是当我每次右键单击应用程序图标时都使用此代码进行操作时 它重新添加了菜单项

 class myclass: NSObject , NSApplicationDelegate{


   func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {


    dockMenu.addItem(withTitle: "test1", action: nil, keyEquivalent:     "")

    return dockMenu
   }

enter image description here

1 个答案:

答案 0 :(得分:0)

您必须创建NSMenu 内部方法

func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {

    let dockMenu = NSMenu()
    dockMenu.addItem(withTitle: "test1", action: nil, keyEquivalent:     "")
    return dockMenu
}

或删除项目

let dockMenu = NSMenu()

func applicationDockMenu(_ sender: NSApplication) -> NSMenu? {

    dockMenu.removeAllItems()
    dockMenu.addItem(withTitle: "test1", action: nil, keyEquivalent:     "")
    return dockMenu
}

但是我会在Interface Builder中声明它并使用插座。