• 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


  • 相关阅读:
    Code Forces 650 C Table Compression(并查集)
    Code Forces 645B Mischievous Mess Makers
    POJ 3735 Training little cats(矩阵快速幂)
    POJ 3233 Matrix Power Series(矩阵快速幂)
    PAT 1026 Table Tennis (30)
    ZOJ 3609 Modular Inverse
    Java实现 LeetCode 746 使用最小花费爬楼梯(递推)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
    Java实现 LeetCode 745 前缀和后缀搜索(使用Hash代替字典树)
  • 原文地址:https://www.cnblogs.com/zxs-19920314/p/12641676.html
Copyright © 2020-2023  润新知