我有几个应用程序内置自动布局(但是支持iPhone 5+的弹簧和Struts),我在iPhone 6和6 Plus模拟器中试用它们实际上看起来非常好。但是,我无法判断Springs和Struts是否实际上正在发挥作用,或者他们是否正在缩放。必须有一些显而易见的事情,我在哪里说错了?此外,自动布局应用程序只是在使用最新的iPhone 6 SDK重新编译时自动转换,因此只要提供3X艺术品(在6 Plus的情况下)它们不仅仅是缩放?
答案 0 :(得分:1)
为iPhone 6,iPhone 6 Plus及其他所有产品使用不同的启动图像。 如果您看到特定的午餐图像,则表示您的应用程序未缩放,并且该设备的原始分辨率正在运行。
答案 1 :(得分:1)
如果您的应用通过输出主屏幕的边界和原生边界屏幕以缩放模式运行,您可以轻松查看:
println("bounds = \(UIScreen.mainScreen().bounds)")
println("nativeBounds = \(UIScreen.mainScreen().nativeBounds)")
如果没有指定的启动图像,iPhone 6 Plus Simulator的输出为:
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
。如果模拟器进行缩放,scale
将为2.0
。
要全面了解新的解决方案,请参阅此博文:http://www.paintcodeapp.com/news/iphone-6-screens-demystified
答案 2 :(得分:0)
我能告诉的唯一方法就是回家看看状态栏文本是否小于我的应用程序。较小的主屏幕状态栏意味着它正在缩放。如果状态栏文本在iPhone 6 SIM中的应用程序中与模拟器的主屏幕上的大小相同,则它使用弹簧/支柱或自动布局而不是缩放