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

PS:首先说明下,ios7中,由于status bar不再占用单独的20px,如果app需要同时支持ios7和ios6.1以下,那就需要适配下了,适配开始:

先看用xcode新建项目后 IOS7和IOS6上的的运行效果:

ps:一个empty application 里面+了一个rootcontroller,作为window的根控制器,view里面放了一个tableview;



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

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

苹果官方适配建议

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

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

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



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上看效果:

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

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


最新文章

  1. mysql基于“时间”的盲注
  2. asp.net mvc ajax 异步刷新例子
  3. Excel
  4. uC/OS-II应用程序exe
  5. (旧)子数涵数·PS——替换颜色
  6. asp.net跨页面传值
  7. python学习笔记6(字典)
  8. poj 1284 Primitive Roots
  9. Unity 改变类模板-为你的类添加一个命名空间
  10. jquery-easyui界面皮肤设计
  11. ILayer
  12. C#Lambda表达式Aggregate的用法及内部运行方式的猜想
  13. 最长周长三角形 O(nlogn)
  14. Spring Aop 梳理
  15. liunx 运维知识四部分
  16. Ex 7_17 考虑如下的网络(其中数字为对应边的容量)...第十三次作业
  17. RecyclerView实现分组展示信息
  18. Asp.net 程序连接orcle如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,
  19. MVC使用Redis实现分布式锁
  20. go语言爬虫 - TapTap用户都喜欢些什么游戏

热门文章

  1. 极限学习机(Extreme Learning Machine)学习笔记
  2. 关于DEBUG的一点体会
  3. Reverses CodeForces - 906E (最小回文分解)
  4. 多个for循环使用
  5. MySQL数据库之DDL(数据定义语言)
  6. python库之xgboost
  7. day34 异常处理、断言、socket之ftp协议
  8. HashMap(常用)方法个人理解
  9. hdu多校第三场 1007 (hdu6609) Find the answer 线段树
  10. PAT甲级——A1122 Hamiltonian Cycle【25】