在NSStatusItem中的NSMenu中使用时,未启用自定义NSMenuItem视图

时间:2017-10-07 15:14:56

标签: cocoa nsmenuitem nsstatusitem nsstatusbar

我想为NSMenuItem添加一个自定义视图,我将在NSStatusItem的菜单中显示该视图。
添加自定义视图后,NSMenuItem不再可以点击 - 它似乎已禁用。

使用下面的示例代码而不添加自定义视图会导致工作单元格NSMenuItem。

我错过了什么吗?

var statusBar = NSStatusBar.system
var statusItem = NSStatusItem()
var menuItem = NSMenuItem()
var mainMenu = NSMenu()

func applicationDidFinishLaunching(_ aNotification: Notification) {

    let newCustomView = CustomView()

    menuItem.action = #selector(printTest)
    menuItem.target = self
    menuItem.isEnabled = true
    menuItem.view = newCustomView.view
    mainMenu.addItem(menuItem)

    statusItem = statusBar.statusItem(withLength: -1)
    statusItem.menu = mainMenu
    statusItem.title = statusItem.menu?.item(at: 0)?.title

}

@objc func printTest() {
    print("printTest")
}

谢谢!

0 个答案:

没有答案