presentModalViewController does nothing
I have a UIViewController ( parent ) that calls presentModalViewController with another UIViewController ( child ) on viewDidLoad . If parent doesn't have a UINavigationController, then presentModalViewController does nothing. If it has a UINavigationController, then presentModalViewController shows child as expected. Is this the standard behavior of presentModalViewController or is there something else at play here? It is because you are presenting it in viewDidLoad , try presenting it in viewDidAppear . Debug your app and look if the child-view isn't nil, if it's nil then it's not standard