What's the difference between UIDeviceOrientation
& UIInterfaceOrientation
?
Which one should I use to detect rotation on a UIView?
UIDeviceOrientation
gives you information about the physical device itself while UIInterfaceOrientation
tells you about the orientation of the views it is displaying. These do not need to match; when a user uses the orientation lock or if the the device orientation is face up.
You probably want to be checking UIInterfaceOrientation
and the rotation methods on UIViewController
to determine when views have been or should be rotated.
UIDeviceOrientation
refers to the physical orientation of the device whereas UIInterfaceOrientation
refers to the orientation of the user interface.
So what you need to set is the autoResizeMask so that the view is resized correctly when its superview is resized. Set flexibleWidth and flexibleHeight for the view. Check http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIDevice_Class/Reference/UIDevice.html
Also - refer to
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation]
来源:https://stackoverflow.com/questions/6838706/iphone-screen-rotation