There are two possibilities:
1.) You set up something wrong in your first view. Which I cannot help you without codes.
2.) You are betting your rotation according to your UIWindow
. I know this problem well since UIWindow
has no method to handle orientation. I think UISplitView
does what you mention above but don't hold me on it. Basing on UIWindow
messes up with many things like the question above or manual transition between viewControllers. So far, there is no proper fix other than workaround.
In a nutshell, just put a quick check on device orientation (not the statusbar) and rotate the view to the proper orientation in viewWillAppear
or something similar. It should not be all that hard since you already have all the rotation code ready.
In case you want to be really lazy, just put [self willAnimateRotationToInterfaceOrientation:[[UIDevice currentDevice] orientation] duration:0.3]];
in your ViewWillAppear
. It should, in theory, do the trick.
See also : https://stackoverflow.com/a/3897243/581194 for more ways to get the orientation. If above does not work.