我有一个横向运行的应用程序。我已使用下面的代码使其在 iOS 8 上运行。此代码在所有设备的模拟器上都能完美运行。但是,当我在 iPhone 5 设备上运行它时,布局是错误的。在这里和其他地方阅读了一些其他问题后,我相信在 iOS 8 上以横向模式运行时屏幕边界已被交换,但似乎并非总是如此。
CGRect screenBound = [[UIScreen mainScreen] bounds];
CGSize screenSize = screenBound.size;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"))
{
ScreenHeight = screenSize.width;
ScreenWidth = screenSize.height;
}
else
{
ScreenHeight = screenSize.height;
ScreenWidth = screenSize.width;
}
为什么模拟器做的事情与设备完全不同?这是否只影响 iPhone 5 或所有 iPhone/iPad?我无法访问所有运行不同 iOS 版本的设备,因此只能依靠模拟器来提供准确的结果。
有没有更可靠的方法来实现这一点?