ios7 適配

ios7中,由於status bar不再佔用單獨的20px,如果app需要同時支持ios7和ios6.1以下,那就需要適配下了,適配開始:

先看用xcode新建項目後 IOS7和IOS6上的的運行效果:
ps:一個empty application 裏面+了一個rootcontroller,作爲window的根控制器,view裏面放了一個tableview;

CenterCenter
是不是遇到的IOS7的新問題,狀態欄跟tableview重疊了,OK,看見這個不想看到的結果,下面我們就開始正式的解決掉這個招人不喜歡的效果。

爲了達到ios7與ios6.1以下的UI統一,蘋果官方給出的建議是:

蘋果官方適配建議

第一步:不要勾選xib中的Use Autolayout,如下圖:

Center

第二步:第二步:選擇View as “ios6.1 and Earlier”,還是上圖位置處;

第三步:在Size Inspector中,有一ios6/7 Deltas:分別表示在PosX的增量、PosY的增量、寬度增量、高度增量。

Center
ps:在“ios6.1 and Earlier”模式下,由於status bar的高度爲20,所以當app運行在ios7.0模式下時,需要view向下移動20像素,因此在ΔY上設置爲20.
tableView座標向下移動了20,由於整個屏幕的高度是不變的,所以在“ios7.0 and Later”模式下,需要將tableView的高度減去20像素,即在“ios6.1 and Earlier”模式下,設置tableView的ΔHeight爲 -20。如果不設置ΔHeight,tableView底部會有20像素是不可見的,可以測試demo看看。
***注***:Δ,正數表示增,負數表示減。

第四步:ok,設置完成,到IOS上看效果:

Center

是不是神奇的發現跟以前的有似曾相識的趕腳呢。。。這樣“ios6.1 and Earlier”和“ios7.0 and Later” UI佈局便統一了。

下一篇在講一講網傳的更改window座標的方法。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章