One possibility: You can design a complex view in a nib and then, when the app runs, you can load it from the nib without using a view controller and just swap it into place in your actual interface.
Another possibility: You could have multiple view controllers (each with its own interface) that are all subclasses of some single view controller.