zoukankan      html  css  js  c++  java
  • IOS学习笔记57--IOS7状态栏适配(二)

    上一遍文章通过XIB的设置达到了状态栏和view重合的问题,这一篇我们讲一讲网传的修改window frame方法。

    先上步骤:

    第一:在appdeletage里面 添加如下代码:

         if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7.0) {
            self.window.frame =  CGRectMake(0.0f,20.0f,self.window.frame.size.width,self.window.frame.size.height-20.0f);
         }

    2.在info.plist文件里面 属性:View controller-based status bar appearance  值设为NO。

    下面看效果:


    在看下图,你会发现一个问题:

    这是什么原因导致的呢?我发现,由于window你又548变成了528吧,但是你发现tableview的高度还是548,导致了有20个像素不能显示。那有的同学会说,直接改成528不就得了么,是的,可以改,改后你发现IOS7上确实没有了缺像素的问题,但是在IOS6有直接缺半截,看下图:

    所以呢,由我亲自测试,这种方法想要适配IOS7和IOS6有点不太靠谱。


    最后解释一下几个名词设置的作用:
    - (UIStatusBarStyle)preferredStatusBarStyle
    {
        return UIStatusBarStyleLightContent;
    }
    - (BOOL)prefersStatusBarHidden
    {
        return NO;
    }


    在plist中设置View controller-based status bar appearance  值设为YES..


    这些的作用是:基于controller,动态控制statusbar的隐藏与样式。

    后面我在看看其他什么方法,也欢迎童鞋们提出意见 留言交流。

  • 相关阅读:
    Liskov替换原则
    OCP开放封闭原则
    SRC单一职责原则
    什么是敏捷设计
    [WCF编程]13.并发:服务并发模式
    [WCF编程]12.事务:服务事务编程(下)
    [WCF编程]12.事务:服务事务编程(上)
    [WCF编程]12.事务:Transaction类
    [WCF编程]12.事务:事务传播
    [WCF编程]12.事务:事务协议与管理器
  • 原文地址:https://www.cnblogs.com/zsw-1993/p/4879655.html
Copyright © 2011-2022 走看看