[ SPECIAL ]

Xcode 5 / iOS 7

Xcode 5 になって変わった開発周りの微妙な違い

2013/09/19 Tomohiro Kumagai

□ 開発環境が Xcode 4 から Xcode 5 に変わって気になったアプリ開発の違いを整理してみました。

iOS 7 の登場と合わせてリリースされた Xcode 5 ですけど、それまで使用していた Xcode 4 と比べて気になる違いがいくつかありました。

それらについて、現象とその対処方法を整理してみます。

ステータスバーがルートビューに重なるようになった

iOS 7 環境では、ステータスバーが原則的にルートビューに重ねて表示されるようになりました。

これは iOS 7 のレイヤーを重ねる発想とコンテンツを大事にコンセプトに依るもので、ステータスバーなどにも透明感を持たせ、その下のコンテンツの存在を示すのには不可欠な存在です。

iOS 7 And Later
iOS 7 ではステータスバーがルートビューに重なります。
iOS 6 And Earlier
iOS 6 とそれ以前ではステータスバーとルートビューは同列に独立していて重ならない。

ただ、iOS 6 と iOS 7 両対応の画面をデザインするとき、見た目だけでなくて座標も変わってくるので注意が必要です。

iOS 6 ではいちばん上を Y=0 でレイアウトすればいいのは変わらないのですが、iOS 7 の場合でステータスバーに重ねたくない場合は、iOS 6 のレイアウトから Y+=20 だけずらしてあげないといけません。

この iOS 6 と iOS 7 との違いは、Interface Builder でデルタ値を設定することで吸収することができます。

テーブルビューがステータスバーに重ならない場合がある

以前の Xcode 4 で作成したプロジェクトだからなのか、場合によっては UITableViewController のテーブルビューだけ、ステータスバーに重ねられずにレイアウトされる場合がありました。

Xcode 4 で作成したプロジェクトの UITableView がステータスバーを避けて表示される場合がありました。

デザイン的に他の UIViewController のビューとのバランスが悪い場合は、プログラムなどからテーブルビューのコンテンツ表示位置を微調整する必要がありそうです。

ボタンの画像が tintColor で塗りつぶされる

iOS 7 からデザインコンセプトが変更されて、いわゆるフラットデザインになりました。

UIButton もその影響を大きく受けて、標準スタイルは角丸からテキストだけに変更になりました。そこに設定する画像も tintColor で設定した単一色で塗りつぶされて、ボタンの印象はとても大きく変わります。

iOS 7 And Later
iOS 7 では、UIButtonTypeSystem の UIButton に貼られた画像が tintColor で塗りつぶされます。
iOS 6 And Earlier
iOS 6 までは、UIButton に貼られた画像がそのまま表示されます。

特に iOS 6 と iOS 7 の両方に対応しようと考えた場合、この UIButton の仕様の違いはけっこう頭を悩まされるところなので、それぞれの違いを意識しながらデザインを考えるのが大切そうです。

カスタムサイズのビューのサイズが勝手に狂う

サイズを Freeform に設定していた UIViewController を Xcode 5 で開いて編集すると、設定してあったサイズがおかしくなってしまうことがありました。

ステータスバーの表示状態をプログラムで変更するためのひと手間

iOS 6 まではステータスバーの表示状態を簡単に切り替えられましたけど、iOS 7 からは従前の方法だけでは切り替えできなくなっています。

アプリのレビューページを開こうとすると真っ白になる

iOS 6 系までは "itms-apps:" プロトコルを使って、目的のアプリのレビューページをスマートに開くことができました。

ところがこの方法は iOS 7.0 では使えなくなっていたので、別の良い方法を探してみました。

 


 

カスタム検索

copyright © Tomohiro Kumagai @ EasyStyle G.K.
contact me: please from mail-form page.