zoukankan      html  css  js  c++  java
  • iOS 修改状态栏字体颜色(亲测,好用)

    有时候我们需要根据不同的背景修改状态栏字体的颜色,我的方法比较复杂,如果有更好用的方法欢迎大家提出来,我会持续更新的。
    #方法一
    1.首先是设置info.plist 文件:
      将View controller-based status bar appearance 的值设置为NO。
    2.在AppDelegate.m 的方法中如下设置,默认会显示黑色等于为你的app状态栏设置一个主颜色


    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //设置全局状态栏字体颜色为黑色
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
    //设置全局状态栏字体颜色为白色
    // [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

    return YES;
    }

    3.在需要设置为白色的地方添加如下代码:

    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;

    4.在需要变回黑色的地方添加如下代码:

    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;


    例如你想将一个控制器的状态栏的字体颜色设为白色代码如下:

    #pragma mark - 设置状态栏颜色
    -(void)viewWillAppear:(BOOL)animated{
    [super viewWillAppear:animated];
    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;


    }

    -(void)viewWillDisappear:(BOOL)animated

    {

    [super viewWillDisappear:animated];

    [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;

    }


    这里要注意,在UITabBarController中如果选项卡每个页面都加载出来,那么在你切换页面时,会先调用下一个页面的viewWillAppear方法,再调用本页面的viewWillDisappear方法,会影响状态栏的字体颜色改变.

  • 相关阅读:
    基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果(转)
    javascript中call、apply、argument、callee、caller
    Google Analytics10条有用教程(转)
    小问题
    MySQL exists的用法介绍
    warning C4005: “AF_IPX”: 宏重定义的解决办法
    /MT、/MD编译选项,以及可能引起在不同堆中申请、释放内存的问题
    _mkdir
    文件读写操作总结
    Distinct
  • 原文地址:https://www.cnblogs.com/zmloveworld/p/6599190.html
Copyright © 2011-2022 走看看