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

    终于的效果:

            



  • 相关阅读:
    poj 2100 尺取法 一个数字拆成连续数字平方和
    poj 1011 dfs+剪枝
    CF-242-C bfs+stl
    hdu 1297 递推
    poj 2104 划分树模板
    poj 3842 全排列+筛素数+暴力
    hdu 1421 经典dp
    hdu 1069 最长上升子序列变形
    hdu 3496 二维费用的01背包
    nyoj 16 最长上升子序列变形
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5192826.html
Copyright © 2011-2022 走看看