iPhoneの画面サイズの違いに対応させなくては

4インチ画面ばかりではなく、3.5インチ画面に対応させなければいけないのだが、さてどうするべきか?いろいろとクリアする問題がある。

  • Interface builderで作ったウィジェットの配置が、画面の大きさを変えると崩れてしまう。
  • 背景として設置したViewの大きさは画面の大きさを変えるとどうなるか?
  • UIImageViewの大きさが、画面サイズによって自動的に変わってくれると助かる。自分で変えなければいけない場合、どうするか?

つまり、Interface builderを使って配置したいくつかのコンポーネントが、画面サイズを変える(4インチと3.5インチ)ことで位置関係を保てず、配置が変になってしまう。この問題を解決する方法は?

まず、コンポーネントをクリックして選択状態にする。上の図にある、Autosizingの矢印をクリックして、実線にしたり点線にしたりすればよい。実線は長さ固定を意味する。その逆で、点線は長さが可変。すぐ横に示されているExampleアニメーションで、赤い四角が伸びたり縮んだりする様子で、画面サイズを変えたときにコンポーネントの配置サイズがどう変わるか、どのような設定になっているか直感的に分かるようになっている。

次の課題は、画面サイズが4インチのとき表示して、3.5インチでは表示したくない(というよりも、表示できない)コンポーネントがあるのだが、この表示するしないはどのように制御できるのか?これはさすがにbuilderでは制御できず、コードの中で一からすべて書くしかないような気がする。