[iOS] iPhone 5の縦長ディスプレイへの対応

本日、iPhone 5や新しいiPod touchが発表され、アプリは従来の480×320又は960×640のディスプレイとは違った大きさの1136×640に対応しなければならなくなりました。

既存のアプリを新しい端末で表示すると、上下に黒い帯ができるようですので、できれば早めに対応したいですよね。

僕は基本的にInterface Builderを使って画面を設計していますので、iPadとのユニバーサルアプリの場合はxibファイルをiPhone/iPod touch用とiPad用の2つを作らなければなりませんでしたが、今回はいくつかの設定だけで対応することができました。

やったことは、
  1. Default-568h@2x.png というスプラッシュスクリーンを追加した(サイズは640×1136)
  2. MainWindow.xibの中のWindowのSizeを「Retina 4 Full Screen」にした
だけです。

画面にWebViewなどを設置していて、余白が気持ち悪いときには、そのオブジェクトのAutosizingを調整すれば良いですね。

とりあえず、iPhone 6.0 Simulator上では、問題なく動きました。

あとは、実機で確認...するために実機を買わなくちゃ!

3 件のコメント:

  1. 情報ありがとうございます。
    上記のようにMainWindow.xibのWindowのSizeを「Retina 4 Full Screen」にすることによって画面取得のheightは568pixとなりました。

    ただちょっと私の問題かもしれませんが、ActionSheetを使う(下からビロビローと出てくるやつです)と下88pix分表示されない問題を抱えました。
    今の次期はまだ守秘義務契約(NDA:Non-Disclosure Agreement)なので情報も無いですし・・・私も実機が無いと何ともならない状況です・・・

    返信削除
  2. ごめんなさい。自己解決できました。
    MainWindow.xibのWindowのSizeを変更し、その下にある"Full Screen at Launch"を選択しておくとwindow.sizeの高さの取得は問題なくできるようになりました。

    返信削除
  3. Ryuji Kishiさま

    コメントありがとうございます~。

    View Programming Guide for iOSのWindowの項に「Full Screen at Launch」を有効にすることを推奨すると書いてありますね。

    僕も有効にしておかなくちゃ...。

    返信削除