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

    终于的效果:

            



  • 相关阅读:
    工作记录(1)- js问题
    QComboBox样式
    VLC的一些接口
    Qt使用std::sort进行排序
    如何正确使用QThread
    QChartView绘制饼状图
    libcurl编译使用,实现ftp功能
    QSplineSeries QChartView绘制曲线
    QLineSeries QChartView 生成折线
    QChart绘制折线区域
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5192826.html
Copyright © 2011-2022 走看看