• iOS 修改状态栏颜色


    • 默认的黑色(UIStatusBarStyleDefault
    • 白色(UIStatusBarStyleLightContent

    可以设置的地方有两个:plist设置里面 和 程序代码里

    1.plist设置statusBar

    在plist里增加一行 UIStatusBarStyle(或者是“Status bar style”也可以),这里可以设置两个值,就是上面提到那两个
    UIStatusBarStyleDefaultUIStatusBarStyleLightContent

    这样在app启动的launch页显示的时候,statusBar的样式就是上面plist设置的风格。

    2.程序代码里设置statusBar

    在application didfinshed方法里:

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];

    或者

    //相对于上面的接口,这个接口可以动画的改变statusBar的前景色  
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent animated:YES];
    

    如果上面设置状态栏颜色无效的话,试试下面方法

    1.将 View controller-based status bar appearance 删除(默认为 YES),或设置为YES 

    2.设置rootViewcontroller,如果为viewController,那么重写下面的方法

     -(UIStatusBarStyle)preferredStatusBarStyle
    {
        return UIStatusBarStyleLightContent;
    }

    如果rootviewcontroller为navgationController,那么可以在所管理的viewcontroller里写下面的代码

    如果项目中倒入了第三方重写文件,那么可能需要直接在其文件中进行下面修改,无须创建

    self.navigationController.navigationBar.barStyle = UIBarStyleBlack;

    或者为navgationcontroller写一个分类
    .h

    @interface UINavigationController (StatusBarStyle)
    
    @end

    注意:添加下面方法会有警告:添加下面的#pragma

    .m

    #import "UINavigationController+StatusBarStyle.h"
    
    @implementation UINavigationController (StatusBarStyle)
    
    - (UIStatusBarStyle)preferredStatusBarStyle {
    #pragma clang diagnostic push
    #pragma clang diagnostic ignored "-Wobjc-protocol-method-implementation"
    return UIStatusBarStyleLightContent;

    #pragma clang diagnostic pop


    }


    
    


    @end
  • 相关阅读:
    modprobe命令
    CentOS实验七:配置RPMForge软件源
    Makefile中的cd用法
    shell 脚本重定向【转】
    自动登陆CentOS
    用UltraISO制作启动光盘
    解决PATH中没有/sbin目录的问题
    Linux系统信息命令大全
    隐藏CentOS桌面图标
    IIS 操作必须使用一个可更新的查询的解决方法
  • 原文地址:https://www.cnblogs.com/niexiaobo/p/4936616.html
Copyright © 2020-2023  润新知