接口方向和设备方向有什么区别?两者看起来都一样,但它们之间的实际区别是什么?
2 回答
接口方向可以是任何东西,无论设备方向如何。设备方向是您所持设备的实际物理方向,这不是可变的;就是这样。如果你持有的是肖像,那就是肖像。但仅仅因为设备是纵向的,并不意味着您的界面也是纵向的。您可能要求您的应用仅提供横向方向,因此界面方向与设备方向不同。
以下描述来自该站点。
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]