2016-10-15 11 views
0

Я создал NSStatusBarItem и всплыть в (программно генерируемый) NSMenu на правой кнопкой мыши:Swift: NSStatusItem остается выделенным после правой кнопкой мыши

let statusBarItem = NSStatusBar.system().statusItem(withLength: -1) 
statusBarItem.action = #selector(AppDelegate.statusBarItemAction(sender:)) 

let menu = NSMenu() 
var menuItem = NSMenuItem() 
menuItem.action = #selector(AppDelegate.customItemAction) 
menu.addItem(menuItem) 

func statusBarItemAction(sender: NSStatusItem) { 
    let mouseEvent = NSEvent.pressedMouseButtons() 
    if mouseEvent == 2 { 
     // right click 
     lxStatusBarItem.popUpMenu(menu) 
    } 
} 

func customItemAction() { 
    // do something 
} 

Все работает отлично, за исключением того, что statusBarItem остается подсвеченным после customItemAction называется:

enter image description here

Как я могу решить эту проблему?

ответ

0

Я нашел, что настройка statusItem.button?.isHighlighted = false помогла удалить выделение. В вашем случае это будет выглядеть так:

func customItemAction() { 
    // do something 
    statusBarItem.button?.isHighlighted = false 
    ... 
}