Сохранение состояния при переходе в фоновое состояние
С этой целью нам нужно ввести еще две регистрации уведомлений в начале метода vievfDidLoad, сразу же после строки кода isuper viewDidLoad).
Скомпилируйте и запустите данное приложение на выполнение и выполните те же самые действия для его перевода сначала в фоновое, а затем в активное состояние. С точки зрения пользователя поведение данного приложения почти не меняется. Если же вы хотите сами убедиться в том, что некоторые изменения в нем все же происходят, закомментируйте метод appiicationWi IlEnterForeground и еще раз скомпилируйте и запустите данное приложение на выполнение. Теперь вы должны ясно увидеть, как изображение исчезает.
После того как был продемонстрирован пример освобождения некоторых ресурсов при переходе в фоновое состояние, настало время подумать о сохранении состояния. Напомним, что основной смысл данной операции состоит в том, чтобы сохранить всю информацию, касающуюся действий пользователя, чтобы на тот случай, если приложение будет удалено из оперативной памяти, пользователь смог в следующий раз продолжить работу с того места, где она была остановлена. Конкретное состояние, о котором здесь идет речь, сильно зависит от самого приложения. В одних приложениях требуется отслеживать документ, просматривавшийся пользователем, в других — положение курсора в текстовом поле, в третьих — открытое в приложении представление и т.д. В данном же случае мы попробуем отследить выделенную часть сегментированного элемента управления.
Прежде всего, введите новую переменную экземпляра и соответствующее свойство в заголовочный файл State labViewController. h.
Если скомпоновать и выполнить приложение на данном этапе его разработки, то сразу же обнаружится следующий вопиющий недостаток сегментированный элемент управления не работает! Как ни стучи по его сегментам, ничего не произойдет. В то же время все дело в непрерывно продолжающейся анимации. По умолчанию метод из каркаса Core Animation, используемый для организации анимации, препятствует сбору данных, вводимых конечным пользователем по ходу анимации. Для активизации взаимодействия с пользователем имеется дополнительный способ воспользоваться более длинным именем метода, вызываемого.
- Дата: 7-01-2015, 21:41