2016-03-04 23 views
2

我正在向NSMenu添加一个NSMenuItem,并且我能够成功检测并处理单击事件。不过,我想添加第二个选项,并检测用户是否点击菜单项按住SHIFTSwift NSMenuItem检测移位点击

let menuItem = myMenu?.submenu?.addItemWithTitle("Click me", action: "itemClicked:", keyEquivalent: "") 

有没有办法做到这一点?我看着keyEquivalent,但我没有看到如何让这个工作。

感谢

+0

全球留意shift /命令键可以工作,但是当用户浏览子菜单时这个代码不会被执行,所以这不起作用@leodabus – VTS12

+0

感谢你的回复,我试着将它改为addLocalMonitorForEventsMatchingMask,这仍然不起作用。不知道为什么这是downvoted – VTS12

+0

任何想法@LeoDabus? Thx再 – VTS12

回答

3

感谢@LeoDabus一些帮助,但我能在事件处理程序用下面的代码来解决这个我NSMenuItem:

if let event = NSApp.currentEvent { 
    if event.modifierFlags.contains(.ControlKeyMask) { 
     // success! 
    } 
} 

编码快乐

+0

也应该工作'如果NSApplication.sharedApplication()。currentEvent?.modifierFlags.contains(.ControlKeyMask)== true { –