zoukankan      html  css  js  c++  java
  • iOS 13 状态栏样式、暗黑模式

    iOS 13系统的iPhone 在设置--》显示与亮度 --》选择深色 即开启暗黑模式

    1. 暗黑模式关闭

    1.1 APP开发未进行暗黑适配,出现顶部状态栏字体颜色无法改变始终为白色。可以全局关闭暗黑模式:  在 Info.plist 文件中,添加 key 为 User Interface Style,类型为 String,value 设置为 Light 即可。

     
     

    1.2在 iOS 13中,UIView、UIViewController 、UIWindow 有了一个 overrideUserInterfaceStyle 的新属性,可以覆盖系统的模式。

    单个页面或视图关闭暗黑模式,设置 overrideUserInterfaceStyle 为对应的模式,强制限制该视图与其子视图以设置的模式进行展示,不跟随系统模式改变进行改变。

       
    1 self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;

    1.3 iOS 13 中UIStatusBarStyle的枚举做了调整。

      *之前开发的APP代码中 UIStatusBarStyle  的部分样式需要根据自需要修改

    1 typedef NS_ENUM(NSInteger, UIStatusBarStyle) {
    2     UIStatusBarStyleDefault      = 0, // Automatically chooses light or dark content based on the user interface style 暗黑下浅色内容;
    3     UIStatusBarStyleLightContent = 1, // Light content, for use on dark backgrounds 浅色内容,用于深色背景
    4     UIStatusBarStyleDarkContent  = 3, // Dark content, for use on light backgrounds 深色内容,用于浅色背景
    5 };

    2. 更状态栏颜色方法

    在info.plist文件中 View controller-based status bar appearance
    -> YES,则控制器对状态栏设置的优先级高于application
    -> NO,则以application为准,控制器设置状态栏prefersStatusBarHidden是无效的
     

    2.1 View controller-based status bar appearance -> NO

    1 //默认样式
    2      [UIApplication sharedApplication].statusBarStyle = UIStatusBarStyleDefault;
    3 //隐藏
    4      [UIApplication sharedApplication].statusBarHidden = YES;

    2.2 View controller-based status bar appearance -> YES 或者info.plist文件中没有设置

     1 //设置样式  
     2 - (UIStatusBarStyle)preferredStatusBarStyle {  
     3     return UIStatusBarStyleLightContent;  
     4 }  
     5 
     6 //设置是否隐藏  
     7 - (BOOL)prefersStatusBarHidden {    
     8     return NO;  
     9 }  
    10 
    11 //设置隐藏动画  
    12 - (UIStatusBarAnimation)preferredStatusBarUpdateAnimation {  
    13     return UIStatusBarAnimationNone;  
    14 } 

    3. 获取状态栏高度

    1  [UIApplication sharedApplication].statusBarFrame.size.height


  • 相关阅读:
    Maven插件
    Maven 构建生命周期
    Maven POM
    JMeter录制登录测试
    IntelliJ IDEA官方下载地址
    Eplise快捷键
    Eclipse-maven相关配置
    vs2019添加引用出错:对COM组件的调用返回了错误HRESULT E_FAIL
    Java学习--多线程(1)
    SQL Server查询重复数据
  • 原文地址:https://www.cnblogs.com/zxs-19920314/p/12641676.html
Copyright © 2011-2022 走看看