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上显示时向上移动对应的高度。

    终于的效果:

            



  • 相关阅读:
    前后端分离方式渲染数据(2018/11/12)
    vue.js 2.0 --- 安装node环境,webpack和脚手架(入门篇)
    css 布局,过渡
    java.lang.InstantiationException: com.lch.commder.entity.Car 已解决
    [Err] 1146
    js简单图片切换
    HTML5布局篇
    IntelliJ IDEA(快捷键)
    hibernate检索策略
    hibernate(一对多关系)
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5192826.html
Copyright © 2011-2022 走看看