OpenGLとかUIKit関係
全体の感想としてFoundation->objcへの置き換えとか、UI* -> NS* への置換えからgccとかのobjcコンパイラとの互換性を意識したのかなって思いました。#知らんけど
時間がない状態でさらっと調べただけなのでいっぱい穴は有ります。
とりあえず
OSのバージョン調べるやつ
float osVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
Foundation
NSString (iOS Category)
- drawInRectで使用するenumのprefixがUI*からNS*に変わった。
- UILineBreakModeだとかUITextAlignmentとかがNSLineBreakModeとかNSTextAlignmentとかに変わっている。
UIKit関連
全体
- iOS7.0になりフラットデザインが適用されている。基本的に前のデザインに戻す方法はない。
- 一部の色を変えたりしていると、デフォルトデザインから乖離して悪目立ちするので、個別に対応していく必要がある。
- 見た目についてはUIAppearanceで解決するのが良い
UITableView
- tableViewのインスタンスの扱いが微妙に変わっている
- まだ詳細は把握出来ていないが、以前はインスタンスを使いまわしていたが、現在はインスタンスを生成しなおしている感じがある <要確認>
- self.viewに対してbackgroundColor等を設定しており、ViewDidLoadでその設定が反映されていない場合はcellの呼び出し時に受け取ったtableViewで再度設定しなおすことで暫定対処できる。何が起こっているかは精査する必要がある。
UITableViewCell
- backgroundColorの初期値が白になってる?
UIApplication
ステータスバーがアプリのViewにオーバーレイされるようになったのでフルスクリーンが20pxズレる。画像をきっちり合わせてた場合はViewの背景(何もなければ黒地)がでてしまうので直す必要がある。
ナビゲーションバーとかは自動的にバーの位置を合わせてくれるが、UIToolBarを画面上部に置いてた場合はそのような調整はしてくれないので自分でずらす必要がある。
この変更が一番きっついと思う
UIStatusBarStyleBlackTranslucentとUIStatusBarStyleBlackOpaqueはiOS7.0でDeprecated(非推奨)された。
EAGL関係 (Quarts Core?)
CADisplayLink
- invalid時に自動的にrunLoopへの登録を解除するようになった
- 上記に伴い、既存の用にinvalid後にremoveRunLoopするとセグメンテーションフォールトで落ちるので注意。