Yusk's UseCase

プログラマの成れの果てTipsBlog

アプリのGUIをiOS7に対応するために参考にしたサイトまとめ

iOS7では、周知の通りフラットデザイン化に伴い、GUI周りの仕様が大きく変更されている。
見た目が崩れているなど明確なものもあるが、中にはサブビューの階層関係の変更など目立たないものもあって、参照先によっては不正アクセスとなってアプリが落ちる恐れがある。
そこで、アプリをiOS7に対応する際に参考にしたサイトをまとめてみた(自分用メモ)。

iOS7とiOS6.1以前の判定

if (floor(NSFoundationVersionNumber) <= NSFoundationVersionNumber_iOS_6_1) {
    // Load resources for iOS 6.1 or earlier
} else {
    // Load resources for iOS 7 or later
}

UINavigationBarとUIStatusBar関連

iOS7では、UIStatusBarの背景はUINavigationBarに依存するため、UIStatusBarとUINavigationBarの画面設計をセットで考えなければいけない。

・UINavigationBarの背景色やUIStatusBarの文字色を変更したい場合

 iOS7でナビゲーションバーやステータスバーの文字色を変える

・UINavigationBarを単体で使用した際に、UINavigationBarとUIStatusBarの背景色を合わせたい場合

 iOS7ステータスバー対策まとめ「StatusBarをUINavigationBarにかぶせる」

・UINavigationBarの「戻るボタン」を独自の画像にしたい場合

 iOS7-UINavigationBarの戻るボタンに設定した画像が表示されない時の対応策

UITableView関連

・UITableViewCell上に設置したUIコンポーネントからUITableViewCellを参照する場合

従来ではUIコンポーネントのsuperviewのsuperviewをたどることで参照することができたが、階層関係が変更されたことにより、そのままだと不正アクセスになってしまう。
 iOS7でUITableViewCell上のボタンをタップしたら落ちた