Following this tutorial and this question, I attempted to create a custom UIViewController containing a UINavigationController. This mostly worked, exc
One possible solution is to change the loadView function of the UIViewController to set the frame of the view using: [[UIScreen mainScreen] applicationFrame] instead of contentView.frame. I'm not sure whether this is the best solution and how this will interact if you attempt to put the custom view controller underneath another view controller.
Ideally, I would be be given the size I have to draw into inside the loadView method. Unfortunately, we aren't given this. See this question for more info.