Как я делаю окно About передним больше всего окном в приложении Какао без UI?

Я создаю приложение Какао, которое работает как объект в строке состояния. Это приложение имеет окно About и объект для активации этого об окне, с помощью стандартного механизма Какао для того, чтобы сделать так (-[NSApplication orderFrontStandardAboutPanel:]). Естественно это все поднято трубку автоволшебно.

Это работает отлично за исключением одной вещи: в отличие от большинства окон About, это обнаруживается под всеми другими окнами, а не на вершине. Я полагаю, что это вызвано тем, что приложение не имеет UI, таким образом, все его окна автоматически под другими окнами. Существует ли способ, которым я могу сцепиться в механизм NSApplication для отображения окна About, таким образом, я могу отправить его в переднюю сторону и заставить его ответить на ⌘-W, таким образом, это может быть закрыто с клавиатуры? Я ввел по абсолютному адресу вокруг в документах для NSApplication, но нет никакого способа получить ссылку на окно About, которое я вижу так, чтобы я мог заставить его появиться на вершине.

5
задан mipadi 25 April 2010 в 00:50
поделиться

1 ответ

Можно ли подключиться к механизму NSApplication для отображения окна «О программе», чтобы отправить его на передний план?

Вот что orderFrontStandardAboutPanel: делает.

Он отлично работает, за исключением одного: в отличие от большинства окон About, он отображается под всеми другими окнами, а не сверху. Я считаю, что это связано с тем, что у приложения нет пользовательского интерфейса, поэтому все его окна автоматически находятся под окнами других [приложений].

Попробуйте вывести ваше приложение на передний план с помощью [NSApp activateIgnoringOtherApps: YES] .

Обратите внимание, что то, как вы делаете свое приложение «без пользовательского интерфейса», имеет значение: если вы используете LSUIElement, это будет работать, тогда как LSBackgroundOnly довольно строго означает background- only .

6
ответ дан 14 December 2019 в 13:30
поделиться