2015-07-30 3 views
0

Чтобы сохранить положение окна в течение одного (основного) монитора я использую этот код:Какао Как запомнить положение окна с несколькими мониторами?

[[win windowController] setShouldCascadeWindows:NO]; 
[win setFrameAutosaveName:@"My App"]; 

Это прекрасно работает. Но если я подключу второй монитор и перетащил окно своего приложения на второй монитор, автосохранение какао не работает - после перезапуска окно всегда помещается на основной (основной) монитор. Любые идеи? Спасибо!

ответ

6

Включить восстановление вашего приложения:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { 
    [[NSUserDefaults standardUserDefaults] setObject:@YES forKey:@"NSQuitAlwaysKeepsWindows"]; 
} 

Установить окно, чтобы быть восстанавливаемая в Interface Builder

Кроме того, убедитесь, что вы не вызываете аннулированию на закрытии. Это просто обещание -> вы могли бы закончить приложение стертых состояния

[self.window invalidateRestorableState]; 

Для проверки/проверки отладки, если содержание «~/Library/Application сохраненное состояние/yourbundleidentifier» сохраняется после перезагрузки.

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