Как получить местоположение NSStatusItem на экране

У меня есть приложение с NSStatusItem в строке меню. Теперь я хочу использовать сочетания клавиш для вызова NSWindow, который должен отображаться прямо под NSStatusItem. Щелчком мыши я просто получаю позицию элемента статуса с помощью:

CGRect eventFrame = [[[NSApp currentEvent] window] frame];

Но я понятия не имею, как получить эту позицию, если я использую ярлык для вызова окна. NSStatusItem имеет настраиваемое представление.

Аналогичный вопрос здесь Как получить расположение на экране NSStatusItem, но никто не мог дать решение.


person Quang Nguyen    schedule 30.04.2015    source источник
comment
Проверьте образец приложения здесь: developer.apple.com/library /mac/samplecode/UIElementInspector/. Я использовал пару раз, когда пытался узнать кое-что о пользовательском интерфейсе моих приложений. Он основан на API доступности, предоставляемом какао, однако он может дать вам некоторые подсказки.   -  person Cristik    schedule 30.04.2015
comment
Вы проверили stackoverflow.com/questions/5413784 / - ответ от Крутта?   -  person VolenD    schedule 01.05.2015
comment
Спасибо! это просто моя ошибка в коде. NSRect frame = [[[[_menubarController statusItem] view] window] frame]; дайте мне правильную рамку, что мне нужно.   -  person Quang Nguyen    schedule 01.05.2015
comment
Подумайте о том, чтобы добавить это в качестве ответа, чтобы другие могли понять это.   -  person Spotlight    schedule 09.07.2017