2015-05-19 2 views
0

Код:Почему setPresentationOptions и LSUIElement не могут использоваться вместе?

[NSApp setPresentationOptions: NSApplicationPresentationHideMenuBar | NSApplicationPresentationHideDock]; 

Он скрывает док и MenuBar OSX.

Когда я добавляю ключ LSUIElement в свой файл Info.plist и повторно запускаю свой код: Dock скрыт, но MenuBar не скрыт.

Почему? Как скрыть MenuBar после добавления LSUIElement?

ответ

2

Ну, она должна скрыть главное меню всегда и навсегда, но с использованием LSUIElement в PLIST является более старым способом делать вещи, чем при использовании обоих setActivationPolicy и setPresentationOptions, так что вы можете дать [NSApp setActivationPolicy:NSApplicationActivationPolicyAccessory] выстрел вместо этого.

Способ выполнения вещей не поддерживал изменения во время выполнения. Вы смешиваете старые и новые. Занимите LSUIElement и используйте setActivationPolicy на OSX 10.9+.

Существует много обсуждений в этих направлениях. This is a good answer. Я написал ответ о том, как переключиться в режим аксессуаров, когда пользователь «покидает» приложение here и использует функциональные возможности выполнения, которые LSUIElement сломает. Так что не используйте его.

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