Какао - Как вывести определенное окно на передний план из StatusMenu
Я работаю над приложением Mac. Я поставил Application is agent (UIElement) = YES
в plist, и у приложения есть окно (скажем, всплывающее окно), которое действует как пользовательский PopOver для StatusMenu. Есть еще одно окно (скажем, окно B), которое должно открыться при выборе ссылки из StatusMenu, которую я создал, но проблемы, с которыми я сталкиваюсь, следующие:
При запуске приложения, когда я открываю меню состояния. Оно также показывает окно B, которое на самом деле не должно отображаться. Окно B выделяется и инициализируется в Application Delegate.
Другая проблема - когда окно B становится видимым, выбрав его в StatusMenu. Это выглядит хорошо, теперь я переключаюсь на другое приложение, поэтому его окно отправляется на фон, что нормально, но всякий раз, когда я нажимаю на меню состояния, оно автоматически появляется на передней панели. В идеале должно открываться только всплывающее окно.
1 ответ
- Окно B открывается, потому что вы можете забыть отключить свойство окна "Видимый при запуске" в инспекторе атрибутов конструктора интерфейса
2-й вопрос, который вы можете решить, установив ActivIgnoringOtherApps в значение YES перед вызовом окна.
[[NSApplication sharedApplication] activateIgnoringOtherApps:YES]; [windowB showWindow:nil];