iOS7になって、見た目が大きく変わった影響が出てしまうため、まずは、既にリリース済みのアプリから対応を行った。
はじめは、どうすればいいのか悩んだが、既に、ベータ版で試したお方の情報をもとになんとか対応することが出来た。
まず始めに、ステータスバーの扱いが変わったことへの対応。
見た目の差分をわかりやすく確認する為の項目が増えているようで、ここを参考に実装するといいらしい。
上の図の「View as」の項目を変更する事で、storyboard上で見た目の判断を行う事が出来る。
(これはあくまでも、見た目のイメージを変更するものらしい。)
選択肢は2択で7.0以降と6.1までとなっているので、切り替えると直にわかると思う。
ただし、これは、参考にする為だけの用なので、実際の表示連れ等は別の箇所を変更する。
iOSのバージョンでの位置ズレを調整する為らしい項目が、きちんと用意されている。
上の図の「iOS 6/7 Deltas」というやつだ。
実際に値をいれて動かすと一目瞭然で、それぞれ、X,Y座標と幅、高さを調整するようになる。
自分の場合、ステータスバー分調整したかったので20を入れるとちょうどいい位置に表示がずらされた。
バーの種類で44であったり、それぞれのアプリにあわせて設定する。
幅や高さの調節も必要なる場合があるので、同じように値を入れると、調整する事が出来た。
これで、全体的な表示位置に関しての調整ができた。
ただ、これは、storyboardを使っての編集の為、ソースで追加したものを同じように調整する手段がわからなかった。
探しては見たのだが見つけきる事が出来なかったので、専用のViewをついかして、そこにソースからパーツの追加を行う事で、調整が出来るように対応を行った。
もっといい方法がないものかは、今後の課題かなぁ・・・
あとは、標準のボタンをそのまま使用しているものがあったので、iOS7になると、枠線が消えてしまった。
ちょっと面倒であったが、枠線の画像を作成し、バックグラウンドに設定する事で、今までと同じような表示にあわせた。
さらに、iOS6とiOS7で画像を分けておいた方がよいと判断した箇所もあったので、バージョン番号を取得して、画像の設定を行うように実装した。
// OSのバージョン番号を取得
float osVersion = [[[UIDevice currentDevice] systemVersion] floatValue];
if(osVersion < 7.0)
{
// iOS6.1まで
self.button.imageView.image = [UIImage imageNamed:@"button.png"];
}else{
// iOS7.0以降
self.button.imageView.image = [UIImage imageNamed:@"button7.png"];
}
これで、大体の対応は終わった事になるので、増えているアイコンを追加して、バージョンアップ申請を行う予定。
[0回]
PR