IOS学习笔记56-IOS7状态栏适配方法一

     近期因为IOS7的发布,因此应用的适配潮可谓是都搞的锣鼓喧天,甚是热闹,所以呢,因适配IOS7而产生的问题也是铺天盖地的卷来,因此了,我也从简单的状态栏适配开始,先研究了下关于状态栏的适配,特总结以下,供广大网友一块儿讨论交流。html

PS:首先说明下,ios7中,因为status bar再也不占用单独的20px,若是app须要同时支持ios7和ios6.1如下,那就须要适配下了,适配开始:ios

先看用xcode新建项目后 IOS7和IOS6上的的运行效果:
ps:一个empty application 里面+了一个rootcontroller,做为window的根控制器,view里面放了一个tableview;
xcode


是否是遇到的IOS7的新问题,状态栏跟tableview重叠了,OK,看见这个不想看到的结果,下面咱们就开始正式的解决掉这个招人不喜欢的效果。
app

为了达到ios7与ios6.1如下的UI统一,苹果官方给出的建议是:
ide

苹果官方适配建议
布局

第一步:不要勾选xib中的Use Autolayout,以下图:测试


第二步:第二步:选择View as “ios6.1 and Earlier”,仍是上图位置处;ui

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


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看看。
***注***:Δ,正数表示增,负数表示减。
code

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


是否是神奇的发现跟之前的有似曾相识的赶脚呢。。。这样“ios6.1 and Earlier”和“ios7.0 and Later” UI布局便统一了。

下一篇在讲一讲网传的更改window坐标的方法。

相关文章
相关标签/搜索