Chapter 7 – View Controllers
To be honest, I quickly jumpted to Chapter 10, since that is the chapter to start working on the Homepwners application. While only skimming through the previous chapters, I should of spent more time reading Chapter 7 on View Controllers. So before I continue working on the next chapter on the Homepwners application, I would like to write a blog post on View Controllers.
Most iOS applications will need multiple “screens”. In iOS development, each screen typically gets its own controller and XIB file. Each controller has a view that gets placed on the winow. Thus, we call these controllers, view controllers. A view controller is a subclass of UIViewController and has an instance variable called, view. And, we typically need an object to take care of the view swapping for us. For this chapter, the example application will show the swapping is done by a UITabBarController.
The iOS example application for this chapter contains two view controllers. One displays the HypnosisView and the other will let the user get the current time by tapping a button. The swapping of views uses the UITabBarController.
Now when creating views for the view controllers, there are two ways to do this: create the view programmatically or create a XIB file. A good rule-of-thumb in deciding when to do one versus the other is if the view has no subviews, create it programmatically. For Chapter 11 when we added a header control above the UITableView, we created a new viewcontroller and view. If you remember, we created the view by creating a new XIB file made up of a UIView and 2 UIButtons, Edit and New. We then made a action connection from each UIButton to the viewcontroller. We then made a outlet connection from the FileOwner to the UIView control. Then we load the XIB file manually using NSBundle in the viewcontroller by implementing headerView. Reminder, XIB files are typically used to create the window and application delegate and to create the view for a view controller.
Chapter 7 helped me understand viewcontrollers much more in depth. Stay tune for more implementation on the Homepwner class.