The Apple designed way to do this for UINavigationController
is via UINavigationControllerDelegate
.
Usually I just update this delegate to do the following and delegate it to the top displaying controller in the navigation controller's stack:
#pragma mark - UINavigationControllerDelegate
- (NSUInteger)navigationControllerSupportedInterfaceOrientations:(UINavigationController *)navigationController
{
return [navigationController.topViewController supportedInterfaceOrientations];
}
In my opinion the UINavigationController
should just default to the above behavior but this is the api Apple has provided :)
As for the info plist file I uncheck all of the options and handle it all in code as it has caused issues for me in the past and I got tired of dealing with it.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…