Xcode 5 の Interface Builder でデザインモードを切り替える : iPhone プログラミング

SPECIAL


iOS 7.0 と iOS 6.0 とを切り替える

Xcode 5 では、デザインモードを "iOS 7.0 以上 (iOS 7.0 and Later)" と "iOS 6.1 以下 (iOS 6.1 and Earlier)" とを Interface Builder でいつでも簡単に切り替えられます。

切り替え方法

どのコントロールを選んでいるときでもいいので、右側の Utilities から File inspector を選択します。

その中に "Interface Builder Document" というグループがあって、そこの "View as" という項目を "iOS 7.0 and Later" や "iOS 6.1 and Earlier" に切り替えることで、それぞれ iOS 6 系のデザインと、iOS 7 系のデザインとを即座に切り替えられます。

たとえば "iOS 6.1 and Earlier" を選択した場合は、iOS 6.1 以前のデザインで UI デザインを行えます。

ここで "iOS 7.0 and Later" を選択すると、現在のデザインを iOS 7 で見たときのレイアウトに切り替わります。

この例だと iOS 6 and Earlier と iOS 7 and Later とでは、ずいぶんズレるように見えますが、間違いなく「同じ」レイアウトで、iOS のバージョンの違いで実際にこのようにズレます。

iOS 6 と iOS 7 の両方に対応させたい場合には、このレイアウト設定を切り替えながら、両方で期待通りに見えるレイアウトを作成して行くことになります。

レイアウトの際の注意

ちなみに iOS 6 と iOS 7 とでは、コントロールの縦横幅が違っていたりして、ほんのちょっとしたところでもズレてきたりするんですけど、非常に厄介なのがステータスバーの在り方です。

iOS 6 ではステータスバーは他のビューと並列して存在してましたけど、iOS 7 からは上に重ねるようにして存在しています。

そのため、iOS 6 ではステータスバーの下から Y=0 が始まったのですけど、iOS 7 ではステータスバーを含む画面上のいちばん上が Y=0 になります。つまり通常のシングルビューであれば、iOS が異なるだけで、必ずステータスバーの分だけ上下にズレます。

この辺りの調整は iOS 6 と iOS 7 のレイアウトのズレを吸収する で紹介した方法とかを使ってなんとか切り抜けないと行けなそうです。

[ もどる ]