zoukankan      html  css  js  c++  java
  • iOS 修改状态栏颜色

    iOS中修改状态颜色在iOS9后官方废弃了下面这种方法

     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault];
    //'setStatusBarStyle:' is deprecated: first deprecated in iOS 9.0 - Use -[UIViewController preferredStatusBarStyle]
     [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent];
    

    iOS9以后使用下面这种方式来修改颜色

    - (UIStatusBarStyle)preferredStatusBarStyle{
        NSLog(@"go style");
        return UIStatusBarStyleLightContent;
    }
    

    如果你的页面有导航栏,则使用上面这这种方式将无法生效,针对有导航栏的,需要在baseNavigationController中加入重写childViewControllerForStatusBarStyle方法

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

    然后在需要修改修改状态栏颜色的controller中重写preferredStatusBarStyle方法

    -(UIStatusBarStyle)preferredStatusBarStyle {
        return UIStatusBarStyleLightContent; // your own style
    }
    

    注意:重写preferredStatusBarStyle修改状态栏如果要生效,一定要在info.plist中配置View controller-based status bar appearance=YES

    flutter中修改状态栏颜色的方法:
    配置全局白色状态栏

      SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.light);
    

    配置某个页面状态栏颜色

    @override
      Widget build(BuildContext context) {
    
        return AnnotatedRegion<SystemUiOverlayStyle>(
          value: SystemUiOverlayStyle.light,
          child: Material(child:Scaffold(),),);
      }
    
  • 相关阅读:
    npm教程2
    02.RIP——CCNP学习笔记
    01.静态路由——CCNP学习笔记
    The 10th SWJTU ACM Online Tutorial
    visual studio 2005 常用按键
    Python垃圾回收机制
    私人网盘系统2.0—全部升级为layUI+PHP(持续更新中)
    Layui框架+PHP打造个人简易版网盘系统
    翻译app的开发全过程---编码+打包+上架
    值得认真学习的6 个 JavaScript 框架
  • 原文地址:https://www.cnblogs.com/qqcc1388/p/14339251.html
Copyright © 2011-2022 走看看