View Controller Lifetime Events
As views come and go, driven by view controllers and the actions of the user, events arrive that give you the opportunity to respond.
First, there are delegate messages:
- Tab bar controller
- A tab bar controller can have a delegate (adopting the UITabBarControllerDelegate protocol) that receives messages when the selected view changes — you can even prevent the user from selecting a view — and when the user customizes the tab bar through the More item.
- Navigation controller
- A navigation controller can have a delegate (adopting the UINavigationControllerDelegate protocol) that receives messages when a contained view controller’s view appears, either because the view controller is pushed onto the stack or because the stack is popped so as to bring the view controller to the top.
In addition, a view controller receives four events that you can override in a subclass (the parameter tells you whether the change is being animated):
-
viewWillAppear: -
viewDidAppear: -
viewWillDisappear: -
viewDidDisappear:
Note
If you override any of these methods, you must call super.
In these four view controller events, the notions “appear” and “disappear” mean exactly what you think they do. View controllers are all about views that can come and go — for example, because a modal view is shown, because a modal view is dismissed, because a tab bar controller is switched to a new view, or because a navigation controller’s stack is pushed or popped. In each of these cases, some ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access