0

I want to add a custom view to a NSMenuItem which I will display in a menu in a NSStatusItem.
After adding the custom view the NSMenuItem it isn't clickable any more - it seems disabled.

Using the sample code below without adding a custom view results in a working cell NSMenuItem instead.

Am I missing something?

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")
}

Thanks!

rmaddy
  • 314,917
  • 42
  • 532
  • 579
Mike Nathas
  • 1,247
  • 2
  • 11
  • 29

0 Answers0