Какао - Как вывести определенное окно на передний план из 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];
    
Другие вопросы по тегам