1

我在 iPhone 6 和 6 Plus 模拟器中尝试了一些构建预自动布局的应用程序(但带有 Springs 和 Struts 以支持 iPhone 5+),它们实际上看起来相当不错。但是,我无法判断 Springs 和 Struts 是否真的在做他们的工作,或者它们是否只是被缩放。一定有一些明显的东西我错过了它说的是哪个?此外,自动布局应用程序在使用最新的 iPhone 6 SDK 重新编译时是否会自动转换,所以只要提供 3X 艺术品(在 6 Plus 的情况下),它们就不仅仅是缩放?

4

3 回答 3

1

为 iPhone 6、iPhone 6 Plus 和所有其他设备使用不同的启动图像。如果您看到特定的午餐图像,您就知道您的应用程序没有缩放,并且它以设备的原始分辨率运行。

于 2014-09-10T14:51:02.113 回答
1

您可以通过输出主屏幕的边界和本机边界屏幕轻松查看您的应用程序是否在缩放模式下运行:

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.0scale将是2.0如果模拟器进行缩放。

要全面了解新分辨率,请参阅这个很棒的博客条目: http: //www.paintcodeapp.com/news/iphone-6-screens-demystified

于 2014-09-14T19:38:34.293 回答
0

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

于 2014-09-10T17:02:19.467 回答