Anyone who\'s trying the newest iOS 6 beta(version 2 or 3) has the same experience of auto rotation not working?
I am not using storyboard but pure navigation contro
instead of [self.window addSubview:navController.view];
insert self.window.rootViewController = navController;
Autorotation is changing in iOS 6. In iOS 6, the shouldAutorotateToInterfaceOrientation:
method of UIViewController
is deprecated. In its place, you should use the supportedInterfaceOrientations
and shouldAutorotate
methods.
Read more here.
The solution is that: Since my app is trying to support from 4.3+, I have to use the navigation controller to do every view switch.
by ios6 seems delegates to the navigation controller, I have to define my own navigation controller, and setup conditions and functions to change its rotation behaviour.
When I load a view, I then do([self.navigationCOntroller setEnableLandscape:(BOOL)false]). in that way you have full controller of your navigation controller.
NOTE: I did try override the navigation controller methods, but seems just get ignored. (This only happens to ios 6.0 as well), haven't test 6.1 yet, so not sure if it's get fixed(which please let me know if it does)