iPhone 6 および 6 Plus シミュレーターで試している自動レイアウト前のアプリケーション (ただし、Springs と Struts を使用して iPhone 5+ をサポートする) をいくつか作成しましたが、実際には非常によく見えます。ただし、Springs と Struts が実際にいわばその仕事をしているのか、それともスケーリングされているだけなのかはわかりません。それがどこに言っているのか、私が見逃している明らかなものがあるに違いありませんか?また、自動レイアウト アプリは、iPhone 6 用の最新の SDK で再コンパイルすると自動的に変換されるので、3X アートワークが提供されている限り (6 Plus の場合) スケーリングされませんか?
3 に答える
iPhone 6、iPhone 6 Plus、その他すべてに別の起動イメージを使用します。特定のランチ画像が表示された場合、アプリがスケーリングされておらず、デバイスのネイティブ解像度で実行されていることがわかります。
メイン画面の境界とネイティブ境界画面を出力することで、アプリがスケーリング モードで実行されているかどうかを簡単に確認できます。
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
。シミュレーターがスケーリングscale
を行う場合になります。2.0
新しい解像度を包括的に理解するには、次の素晴らしいブログ エントリを参照してください: http://www.paintcodeapp.com/news/iphone-6-screens-demystified
私が知ることができた唯一の方法は、家に帰って、ステータス バーのテキストが自分のアプリよりも小さいかどうかを確認することでした。小さいホーム画面のステータス バーは、拡大縮小されていることを示します。iPhone 6 sim のアプリ内でステータス バーのテキストがシミュレーターのホーム画面と同じサイズである場合、スケーリングではなく、スプリング/ストラットまたは自動レイアウトを使用しています。