If you haven't done so, it would be worth your while to read the documentation on the -loadView method. You only override -loadView when not using a nib. If no nib is specified, loadView will create a default empty view. If you wish to add objects to a nib outside of Interface Builder, you override the -viewDidLoad method. Customization and alteration of the view, once it is loaded, can be done as needed in response to events as long as you have a reference to it.