在我的应用程序中仅以纵向模式运行,直到现在我在根控制器的viewDidLoad中使用以下代码来检查屏幕大小:
UIScreen *mainScreen = [UIScreen mainScreen];
CGRect fullScreenRect = [mainScreen bounds];
_screenWidth = (int)fullScreenRect.size.width;
_screenHeight = (int)fullScreenRect.size.height;
它返回,例如在iPhone6 +模拟器上的414pt * 736pt。 和iPhone 5模拟器上的320pt * 568pt。等...
然后,我使用_screenHeight和_screenWidth(它们是全局变量)来设置各种界面元素,如视图,图像等。
我绝对需要正确的值:iPhone 6 +上的414pt * 736pt
当然,我的应用程序以非缩放模式运行,因为我在我的软件包中添加了正确的启动图像。
这在iOS8.2模拟器中完美运行,具有所有可能的屏幕尺寸(iphone 4 - 5 - 6 - 6 +)。
问题在于,如果出现问题,我没有iPhone 6+来检查实际设备......我没有计划购买。
所以,我的主要问题是: 我怎么能确定上面代码返回的尺寸在实际设备(iPhone 6+)和iphone 6+模拟器上的工作方式是否相同?
实际设备是否有可能使用我的代码返回错误的值? (360 * 640而不是414 * 736,正如我所知)
其他问题: 在iPhone 6+上,我可以继续使用上面的代码来处理高级图形:
UIGraphicsBeginImageContextWithOptions(CGSizeMake(_screenWidth, _screenHeight), YES, 0.0f)
特别是,最后一个参数是否正确? (0.0F)