zoukankan      html  css  js  c++  java
  • iOS statusBarStyle状态栏变色

    iOS 遇到需要修改状态栏显示的颜色,实践发现,修改其实很简单。

    1、所有的页面状态栏都是相同的颜色。

    只要在项目的infoPlist文件中添加一项:

    View controller-based status bar appearance,添加后,它的默认值就是NO,表示由系统管理状态栏,

    此时在AppDelegate中添加如下代码:[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;   这样就可以让状态栏中显示为亮色。

     2、如果不想应用里所有的页面状态栏都是相同的颜色。

    可以将infoPlist中View controller-based status bar appearance设置为YES,这就表示将statusBar的控制权交给了各自的控制器。

    在需要修改状态栏的控制器viewDidLoad中写上[UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleLightContent;即可单独为本控制器修改状态栏。

    3、或者还有一种方式,ios很贴心的在UIViewController也增加了几个接口,

    目的是让状态栏根据当前显示的UIViewController来定制statusBar的前景部分。

    - (UIStatusBarStyle)preferredStatusBarStyle;
    
    - (UIViewController *)childViewControllerForStatusBarStyle;
    
    - (void)setNeedsStatusBarAppearanceUpdate
    

      

    只需要在控制器中实现preferredStatusBarStyle方法,直接返回需要的状态栏设置就可以了。

  • 相关阅读:
    BZOJ 3251 树上三角形:LCA【构成三角形的结论】
    BZOJ 2442 [Usaco2011 Open]修剪草坪:单调队列优化dp
    2018湖南省赛选拔
    扩展BSGS-传送门
    倒数第N个字符串
    HDU-6070 Dirt Ratio(二分+线段树+分数规划)
    第一场多校
    HDU5923-Prediction-有继承味道的并查集
    POJ2516费用流
    POJ3436:ACM Computer Factory-最大流
  • 原文地址:https://www.cnblogs.com/saytome/p/7610883.html
Copyright © 2011-2022 走看看