zoukankan      html  css  js  c++  java
  • 使用 preferredStatusBarStyle 设置状态栏颜色

    iOS9之前,在plist文件中 插入一个新的key,名字为View controller-based status bar appearance,并将其值设置为NO。

    然后敲入代码:

    [UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    虽然在iOS9之后仍然可以用,但是苹果不推荐了 ,

    Use -[UIViewController preferredStatusBarStyle]"

    一般我们都是将viewcontroller  嵌入到 uinavigationcontroller 中,如果将viewcontroller嵌入到uinavigationcontroller中,这时候状态栏的颜色控制将 交给uinavigationcontroller,

    所以我们要自定义uinavigationcontroller(创建UINavigationController一个Category,在分类里重写),重写里面的方法

    - (UIViewController *)childViewControllerForStatusBarStyle{
      return  self.visibleViewController;
    }
    - (UIViewController *)childViewControllerForStatusBarHidden{
      return self.visibleViewController;
    }


    该类扩展的意思就是,你不要调用Container(NavigationController或者UITabBarController)的preferredStatusBarStyle这个方法,去调用self.visibleViewControllerpreferredStatusBarStyle,那么,我们写在UIViewcontroller里面的方法就会被调用了,就能更改StatusBar的前景颜色了。


    意思就是 你调用我
  • 相关阅读:
    hdu 1251(字典树)
    hdu 1556(树状数组)
    hdu 3275(线段树的延迟标记,我被坑了)
    TCL之容器
    Codeforces Round #587 (Div. 3) D. Swords
    struts2中多个文件同时上传
    ffmpeg的使用
    struts2中类型转换器
    struts中访问servlet API的方法
    struts2中多个逻辑action(方法)的动态调用
  • 原文地址:https://www.cnblogs.com/niit-soft-518/p/5900130.html
Copyright © 2011-2022 走看看