【swift】ios7対応でしたことをメモ

はじめに

ios8のことしか考えずに開発を進めて、ios7もまだまだ利用者がいるので当然対応してあるはずですよね?
ということで即席で対応中です。

まだ途中なんですけど、とりあえずこれをやったら形になったということをまとめておきます
・UINavigationBarと重なるのを回避
・UITabBarとUITableViewが重なるのを回避
・UIAlertControllerの代替え

形になったというか、まともになったのほうが正しいでしょうか。まだまだ対応すべきことはあるとは思うのですが、、、

UINavigationBarと重なるのを回避

// ios7でviewがナビゲーションバーに隠れないように
if self.respondsToSelector("edgesForExtendedLayout") {
    self.edgesForExtendedLayout = UIRectEdge.None
}

多くのサイトに書いてありました。ナビゲーションの高さ分考慮してframeを設定したりしている人もいましたが、これが1番楽なのでこれで対応しました

UITabBarとUITableViewが重なるのを回避

tableView.autoresizingMask = UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleWidth

UITableViewのframe.size.heightを変えたりしてもうまくゆきませんでした。
これやったら期待通りの形になりました

UIAlertControllerの代替え

みんな使っているかどうか不明ですが、MSAlertControllerというのがとても便利そうだったので使わせていただきました。記述の仕方もUIAlertControllerと同じなのでクラス名を代えるだけでいけました。

さいごに

開発経験がある方ならios7を経験してios8を経験するって形になると思うのですが、最近はじめた素人なので人とは逆の?苦労をあじわいました。いろいろありますね、、、

以上です