Ios 如何判断Springs和Struts应用程序是否在iPhone6模拟器中扩展?

Ios 如何判断Springs和Struts应用程序是否在iPhone6模拟器中扩展?,ios,cocoa-touch,ios8,iphone-6,iphone-6-plus,Ios,Cocoa Touch,Ios8,Iphone 6,Iphone 6 Plus,我有两个应用程序是在自动布局之前构建的(但是有支持iPhone5+的Springs和Struts),我正在iPhone6和6 Plus模拟器中试用,它们实际上看起来相当不错。然而,我无法判断弹簧和支柱是否真的在做它们的工作,或者它们是否只是在被缩放。一定有什么明显的东西我遗漏了,上面写着什么?此外,自动布局应用程序在使用最新的iPhone 6 SDK重新编译时是否会自动转换,这样,只要提供了3倍的图片(在6 Plus的情况下),它们就不会进行缩放?为iPhone 6、iPhone 6 Plus和

我有两个应用程序是在自动布局之前构建的(但是有支持iPhone5+的Springs和Struts),我正在iPhone6和6 Plus模拟器中试用,它们实际上看起来相当不错。然而,我无法判断弹簧和支柱是否真的在做它们的工作,或者它们是否只是在被缩放。一定有什么明显的东西我遗漏了,上面写着什么?此外,自动布局应用程序在使用最新的iPhone 6 SDK重新编译时是否会自动转换,这样,只要提供了3倍的图片(在6 Plus的情况下),它们就不会进行缩放?

为iPhone 6、iPhone 6 Plus和所有其他应用程序使用不同的发布图像。
如果你看到一个特定的午餐图像,你就知道你的应用程序没有缩放,并且是以设备的本机分辨率运行的。

我唯一能判断的方法是回家看看状态栏文本是否比我的应用程序中的小。较小的主屏幕状态栏表示正在缩放。如果iPhone 6 sim卡中的应用程序中的状态栏文本大小与模拟器主屏幕上的相同,则它使用的是弹簧/支柱或自动布局,而不是缩放

,如果您的应用程序通过输出主屏幕的边界和本机边界屏幕以缩放模式运行,您可以很容易地看到:

println("bounds = \(UIScreen.mainScreen().bounds)")
println("nativeBounds = \(UIScreen.mainScreen().nativeBounds)")
如果没有指定的启动图像,iPhone 6 Plus模拟器的输出为:

bounds = (0.0,0.0,320.0,480.0)
nativeBounds = (0.0,0.0,960.0,1440.0)
本机边界是缩放边界的3倍。这就是@3x display.scale背后的原因

对于iPhone 6 Plus,nativeScale也有助于:

println("main screen native scale = \(UIScreen.mainScreen().nativeScale)")
println("main screen scale = \(UIScreen.mainScreen().scale)")
nativeScale
将始终为
3.0
<如果模拟器进行缩放,则代码>缩放将为
2.0

要全面了解新的解决方案,请参阅以下伟大的博客: