2016-03-04 3 views
2

В настоящее время я добавляю NSMenuItem в свой NSMenu, и я могу успешно обнаружить и обработать событие click. Тем не менее, я хочу, чтобы добавить второй вариант и обнаружить, если пользователь нажал MENUITEM, удерживая SHIFTSwift NSMenuItem detect shift click

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

Есть ли способ сделать это? Я посмотрел на keyEquivalent, но я не вижу НИКАКОГО, как заставить это работать.

Благодаря

+0

глобального наблюдения за клавиши shift/command работают, но этот код не выполняется, когда пользователь перемещается по подменю, так что это не работает. @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

также должно работать 'if NSApplication.sharedApplication(). currentEvent? .modifierFlags.contains (.ControlKeyMask) == true {' –

 Смежные вопросы

  • Нет связанных вопросов^_^