Ответ на связанные с дисплеем уведомления

Когда видимость представления изменения представления контроллера, контроллер представления вызывает некоторые встроенные методы для уведомления подклассов изменений. Можно переопределить эти методы, чтобы переопределить, как подкласс реагирует на изменение. Например, можно использовать эти уведомления для изменения цвета и ориентации строки состояния так, чтобы это соответствовало стиль презентации представления, собирающегося быть выведенным на экран.

Ответ, когда появляется представление

Рисунок 5-1 показывает последовательность событий, происходящую, когда представление контроллера представления добавляется к иерархии представления окна. viewWillAppear: и viewDidAppear: методы дают подклассам шанс выполнить любые дополнительные действия, связанные с появлением представления.

Рисунок 5-1  , Отвечающий на появление представления

Ответ, когда исчезает представление

Рисунок 5-2 показывает последовательность событий, происходящую, когда представление удалено из его окна. Когда контроллер представления обнаруживает, что его представление собирается быть удаленным или скрытым, он вызывает viewWillDisappear: и viewDidDisappear: методы, чтобы дать подклассам шанс выполнить любые соответствующие задачи.

Рисунок 5-2  , Отвечающий на исчезновение представления

Определение, почему измененное появление представления

Иногда, может быть полезно знать, почему представление появляется или исчезает. Например, Вы могли бы хотеть знать, появилось ли представление, потому что было просто добавлено к контейнеру или появилось ли это, потому что было удалено некоторое другое содержание, затенившее его. Этот определенный пример часто появляется при использовании контроллеров навигации; Ваше представление контроллера содержания может появиться, потому что контроллер представления был просто продвинут на штабель навигации, или это могло бы появиться, потому что контроллеры ранее выше его были вытолканы от штабеля.

UIViewController класс обеспечивает методы, которые Ваш контроллер представления может вызвать для определения, почему произошло изменение появления. Таблица 5-1 описывает методы и их использование. Эти методы можно вызвать из Вашей реализации viewWillAppear:, viewDidAppear:, viewWillDisappear: и viewDidDisappear: методы.

Табличные 5-1  Методы для вызова для определения, почему изменилось появление представления

Имя метода

Использование

isMovingFromParentViewController

Вы вызываете этот метод в Вашем viewWillDisappear: и viewDidDisappear: методы, чтобы определить, скрыто ли представление контроллера представления, потому что контроллер представления был удален из его контейнерного контроллера представления.

isMovingToParentViewController

Вы вызываете этот метод в Вашем viewWillAppear: и viewDidAppear: методы, чтобы определить, показывается ли представление контроллера представления, потому что контроллер представления был просто добавлен к контейнерному контроллеру представления.

isBeingPresented

Вы вызываете этот метод в Вашем viewWillAppear: и viewDidAppear: методы, чтобы определить, показывается ли представление контроллера представления, потому что контроллер представления был просто представлен другим контроллером представления.

isBeingDismissed

Вы вызываете этот метод в Вашем viewWillDisappear: и viewDidDisappear: методы, чтобы определить, скрыто ли представление контроллера представления, потому что был просто отклонен контроллер представления.