LoginSignup
13
14

More than 5 years have passed since last update.

iPhone Simulator で zoom モードを再現するまでの過程

Last updated at Posted at 2014-10-09

自分の記事からの転載です。

「Xcode 6 時代のマルチデバイス対応 ~Size Classとベクター画像~」を参考にしながら 6/6 Plus に最適化させようとしていたのですが、iOS 8 から追加された zoom/standard モードを iPhone Simulator でデバッグするにはどうすればいいのかを調べていてカオスってたのでメモ。
そもそも iPhone Simulator で zoom/standard モードの切り替えができないのがどうかと思うけど。。。

先にまとめだけいうと、zoom モードにした実機でするのが一番確実

さて 6/6 Plus の解像度に対応しようとすると zoom/standard モードのサイズを考慮する必要があります。
サイズは 6 Plus の UIScreen の bounds です。
* zoom モード(375x667)
* standard モード(414x736)
* 解像度を対応させない(320x568)

6/6 Plus の解像度に対応させる方法

「Xcode 6 時代のマルチデバイス対応 ~Size Classとベクター画像~」より引用


* Launch 画像を登録する
* Launch Screen Fileを指定する

対応表

zoom/standard モードで解像度を対応している/いないかで [UIScreen mainScreen].bounds.size, [UIScreen mainScreen].scale, [UIScreen mainScreen].nativeBounds.size, [UIScreen mainScreen].nativeScale のそれぞれ値を取得してみました。

iPhone 6 Plus

bounds scale nativeBounds nativeScale
zoom - 非対応 320x568 2.000000 921.60004x1635.8401 2.880000
zoom - 対応 375x667 3.000000 1080x1920.9601 2.880000
standard - 非対応 320x568 2.000000 834.78265x1481.7391 2.608696
standard - 対応 414x736 3.000000 1080x1920.0001 2.608696


iPhone 6 Plus Simulator

iPhone 6 Plus Simulator では standard モードのみ実行可能。

bounds scale nativeBounds nativeScale
standard - 非対応 320x568 2.000000 960x1704 3.000000
standard - 対応 414x736 3.000000 1242x2208 3.000000



そこで zoom モードの解像度を再現するために Resizable Simulator を使えば可能なのでは?!と思いたって試してみました。

Resizable Simulator

起動後に w375 x h667 に変更して試してみました。

bounds scale nativeBounds nativeScale
非対応 768x1024 2.000000 1536x2048 2.000000
対応 768x1024 2.000000 1536x2048 2.000000


Simulator のサイズは変わってるけど、UIScreen の bounds が。。。
おそらくバグだと思われるけど UIScreen でほしいサイズはは Resize した後のサイズなのに。。。
UIScreen の bounds を元にしてコード上で自分でレイアウトしている場合はこれだと再現できないですね。

まとめ

AutoLayout のレイアウト確認くらいだと Resizable Simulator で確認できる。
とはいえ scale が 2 になっているためおそらく @2x を使いそうなので、その辺りの動作確認は zoom モードにした実機で確認するのが一番確実だと思います。
自力でレイアウトしている場合は何も考えずに実機でやりましょう。

あと Storyboard の preview も standasrd/zoom の切り替えはサポートしてないみたいですね。

何かいい方法があったりしたら教えてください。

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14