I have an iPad in which I start at a landscape left orientation, however when I do:
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
it doesn’t detect it as landscape left. I had to rotate it to portrait mode and then back to landscape left again, and then when I check the orientation, now it’s correct. However, initially when it’s launched it is not correct. Why is this? How do I resolve this?
Never use the Device Orientation if you would like to determine the Interface Orientation!
If you have a reference to the RootViewController of your main window, you could ask it for its
interfaceOrientation.If you don’t, use
[UIApplication sharedApplication].statusBarOrientationto determine the Interface Orientation.