Takahiro Octopress Blog

-1から始める情弱プログラミング

iOS6とiOS7の両方で使えるようにtoolbarを調整する方法

iOS6/iOS7で使えるようにtoolbarを調整しよう!

どうも。筆者が先週末から1週間ほど風邪で寝込んでいる間にiPhone5S/5Cが発売されたようですね。また、それに先駆けてiOS7とXcode5の正式版も一般にリリースされたということで完全に乗り遅れてしまいました(泣)
そろそろ体力も復帰してきたということで気になっていたXcode5に触れてみることにしました。
今回はiOS7になったことで見た目はささやかな違いなんですが、実は結構面倒かもしれないtoolbarの変換に着目しました。まずはその違いを実際に見て頂きましょう。 twitterでtoolbarを比較しよう

このようにiOS7対応アプリではステータスバーを含めたtoolbarを作成する必要があります。もちろんiOS6ではステータスバーを含まないのでtoolbarの高さが異なります。
『単純にtoolbarの高さを調整すれば良いのでは?』と思うかもしれませんが、下記画像を見て頂くとわかるようにdisabledになっていて変更できません…
変更できないtoolbarの高さ
これを変更するために、『Show the File inspector』を選択して、『Use Autolayout』のチェックを外します。そして、iOS6からの目線でiOS7を調整するために(慣れの問題ですが…)『View as』をiOS6.1 and Earlierに変更します。
Use Autolayoutのチェックを外す
それによって『Show the Size inspector』でiOS6/7 Deltasが表示されるようになります。
iOS6/7 Deltasが表示される
ステータスバーのheightは20pxなので、iOS7はiOS6よりもheightが20px高くなります。また、位置はiOS6での最上位置(0px)よりも上に20px つまり-20pxになります。
iOS6/7 Deltasに値を設定

これでtoolbarの設定は完了です。因みにtoolbarと合わせてWebViewやMapViewを使うときには同じくこれらのパーツも調整する必要がありますのでご注意を。

Comments