接口方向和设备方向之间的区别是什么? 两者看起来都一样,但它们之间的实际区别是什么?
答案 0 :(得分:9)
界面方向可以是任何东西,无论设备方向如何。设备方向是您持有的设备的实际物理方向,这不是可变的;就是这样。如果你持有肖像,那就是肖像。但仅仅因为设备是纵向的并不意味着你的界面也是纵向的。您可能要求您的应用仅提供横向方向,因此界面方向将与设备方向不同。
答案 1 :(得分:0)
以下说明来自this site.
UIDeviceOrientation是UIDevice类的属性,有以下可能的值:
UIDeviceOrientationUnknown - 无法确定 UIDeviceOrientationPortrait - 主页按钮朝下 UIDeviceOrientationPortraitUpsideDown - 主页按钮朝上 UIDeviceOrientationLandscapeLeft - 面向右侧的主页按钮 UIDeviceOrientationLandscapeRight - 面向左侧的主页按钮 UIDeviceOrientationFaceUp - 设备是平的,屏幕朝上 UIDeviceOrientationFaceDown - 设备是平的,屏幕朝下
对于UIInterfaceOrientation,它是UIApplication的一个属性,只包含4种与状态栏方向相对应的可能性:
UIInterfaceOrientationPortrait = UIDeviceOrientationPortrait, UIInterfaceOrientationPortraitUpsideDown = UIDeviceOrientationPortraitUpsideDown, UIInterfaceOrientationLandscapeLeft = UIDeviceOrientationLandscapeRight, UIInterfaceOrientationLandscapeRight = UIDeviceOrientationLandscapeLeft (从文档中复制)
例如,设备(实际的iPhone或iPod)可能位于UIDeviceOrientationLandscapeRight中,但如果您的应用不支持,则(您的应用)可能仍在UIInterfaceOrientationPortrait中。
另外,要获取UIDeviceOrientation,使用[[UIDevice currentDevice] orientation],并获取UIInterfaceOrientation,使用[[UIApplication sharedApplication] statusBarOrientation]