Установить местоположение / размер NSWindow при запуске и полноэкранное резюме Lion = неправильный макет - PullRequest
0 голосов
/ 29 августа 2011

Я создал приложение, которое изначально сохраняет и восстанавливает размер и местоположение окна в делегате приложения applicationWillFinishLaunching: или applicationDidFinishLaunching.

Позже я заменил его на вызов [NSWindow setFrameUsingName:] и тому подобное, чтобы сохранить и загрузить расположение и размер окна.

И хранение, и загрузка работают просто отлично ( с пользовательским кодом и с setFrameUsingName )

Но теперь проблема: когда я включил полноэкранный режим в приложении и вышел из системы с опцией " restore windows ". Он запустит приложение в отдельном окне, чтобы оно стало полноэкранным, но затем снова вызывается мой код, чтобы установить окно size:, отображающее небольшое окно на большом полноэкранном экране.

Кажется, жизненный цикл почти заканчивается вызовом windowDidEnterFullScreen:. applicationWillFinishLaunching: вызывается задолго до того, как окно переводится в полноэкранный режим, а styleMask NSWindow там еще не показывает полноэкранный режим.

Кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

Проблемы, вызванные постепенной анимацией во время запуска приложения. Убедитесь, что вы не запускаете анимацию в окне applicationWillFinishLaunching в делегате приложения.

0 голосов
/ 15 ноября 2011

Попробуйте установить флаг в windowWillEnterFullScreen, чтобы ваше окно знало, что не нужно устанавливать его размер.

...