zoukankan      html  css  js  c++  java
  • iOS6 / iOS7 状态栏高度适配

    转自:http://blog.csdn.net/yuanbohx/article/details/24176175

    问题原因:iOS7的状态栏(status bar)不再占用单独的20px,所以假设你在iOS6上的界面布局是正常的,那么到了iOS7上就会变成以下这个样子:

               

    左边是iOS6界面布局,右边是iOS7界面布局。

    这时有人会想着把iOS7界面上控件总体向下移动20px。可是当Interface Builder Document改成Xcode 4.6时又变成了例如以下情况:

               

    界面不会由于你在不同的Interface Builder Document值下设置不同的布局而不同,所以必须用Xcode 5的iOS 6 / 7 Deltas机制解决。

    如果你之前基于的是iOS6开发的应用。此时布局是正确的,移步到控件的size inspector页面对iOS 6 / 7 Deltas属性进行设置。

    由于我们做的是高度适配,所以我们用到△Y和△Height两个值。我们如今是基于iOS6去适配iOS7,所以6上正确了,7的布局就会跟状态栏重叠,故View和TableView的△Y值都应该设置为20,即6上布局在7上显示时,Y坐标下移20px,这样就不会与状态栏重叠了。可是总体下移了20px。TableView底部20px的区域将无法显示,所以这时候要单独设置TableView的△Height为-20,即在7上显示时,TableView的高度要减小20px,以使TableView所有显示在屏幕内。

    此时将Interface Builder Document改为Xcode 5发现,界面显示正常,查看各控件的iOS 6 / 7 Deltas值,发现其与在Xcode 4.6下设置的值正好相反,即假设基于iOS7布局去改动iOS6的布局,那么应该将△Y设置为负值。即让控件在iOS6上显示时向上移动对应的高度。

    终于的效果:

            



  • 相关阅读:
    内置对象
    Angular 动画
    Angular_上拉刷新
    angular Observable
    【Nginx】nginx为目录或网站加上密码认证
    MongoDB笔记
    websocket服务器+客户端
    cli 中php的配置和phpinfo不一样
    linux设置时区和自动同步时间
    crontab & php实现多进程思路
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5192826.html
Copyright © 2011-2022 走看看