zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    剑指offer:面试题25、二叉树中和为某值的路径
    剑指offer:面试题24、二叉搜索树的后续遍历序列
    剑指offer:面试题23、从上往下打印二叉树
    剑指offer:面试题22、栈的压入、弹出序列
    剑指offer:面试题21、包含min函数的栈
    剑指offer:面试题20、顺时针打印矩阵
    剑指offer:面试题19、二叉树的镜像
    剑指offer:面试题18、树的子结构
    剑指offer:面试题17、合并两个排序的链表
    剑指offer:面试题16、反转链表
  • 原文地址:https://www.cnblogs.com/niexiaobo/p/4936616.html
Copyright © 2011-2022 走看看