NSWindow восстанавливается не всегда работает
Я проверил возможность восстановления в моем NSWindow. Когда я перемещаю свое приложение, изменяю его размер и закрываю / открываю мое приложение, оно устанавливает размер и позицию окна в последний размер и положение.
но это происходит не на каждом компьютере, где я его тестирую. это случается только с несколькими компьютерами
у них нет специальных настроек относительно резюме.
У кого-нибудь есть опыт с этим?
3 ответа
Но это происходит не на каждом компьютере, где я его тестирую. Это происходит только с несколькими компьютерами. У них нет специальных настроек относительно резюме.
На самом деле, они делают. Загляните в Системные настройки> Общая панель. Должна быть опция "Закрыть окна при выходе из приложения", которая отвечает за поведение при восстановлении. Кроме того, в OS X Mountain Lion Apple изменила поведение по умолчанию, и теперь приложение восстанавливает свое состояние, только когда вы выходите с помощью Command-Option-Q.
Таким образом, вы, вероятно, должны проверить, какая версия OS X установлена на другом Mac, и какая настройка выбрана на панели "Общие". Надеюсь это поможет!
Одна вещь, которую вы должны знать, это то, что проверка опции "Restorable" в IB изменяет только свойство окна. Фактическое восстановление и сохранение в ваших руках.
Во-первых, вы должны соответствовать NSWindowDelegate
протокол и реализовать -window:willEncodeRestorableState:state
а также -window:didDecodeRestorableState:
методы, которые кодируют и декодируют ваши свойства окна (например, ваш фрейм окна, который вы, очевидно, получаете, вызывая [myWindow frame]
).
Вы также должны соответствовать NSWindowRestoration
протокол и реализовать +restoreWindowWithIdentifier:state:completionHandler:
, (убедитесь, что вы установили свой класс на класс восстановления, с setRestorationClass
метод)
Для получения дополнительной, более подробной информации, вы можете посетить этот документ документации Apple здесь.
Если все, что вам нужно, это восстановить рамку окна, используйте setFrameAutosaveName:
,