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 为对应的模式,强制限制该视图与其子视图以设置的模式进行展示,不跟随系统模式改变进行改变。

 self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;

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

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

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

2. 更状态栏颜色方法

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

2.1 View controller-based status bar appearance -> NO

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

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

 //设置样式
- (UIStatusBarStyle)preferredStatusBarStyle {
return UIStatusBarStyleLightContent;
} //设置是否隐藏
- (BOOL)prefersStatusBarHidden {
return NO;
} //设置隐藏动画
- (UIStatusBarAnimation)preferredStatusBarUpdateAnimation {
return UIStatusBarAnimationNone;
}

3. 获取状态栏高度

  [UIApplication sharedApplication].statusBarFrame.size.height

最新文章

  1. 【Java每日一题】20161216
  2. Linux - expect自动化远程登录脚本
  3. 深入JVM-有关String的内存泄漏
  4. 深入浅出Spring(五) SpringMVC
  5. html笔记01:顺序和无序列表
  6. Sicily1059-Exocenter of a Trian
  7. paip.提升用户体验---c++ qt 取消gcc编译的警告信息.txt
  8. C++实现链表
  9. C---通过指针访问数组
  10. java中堆和堆栈的区别
  11. Linux使用系统光盘作为YUM源
  12. linux 做了raid后,硬盘坏了更换问题
  13. DevExpress XtraTabbedMdiManager删除Page
  14. P1341 无序字母对 欧拉回路
  15. python中的RE模块
  16. git--创建空的分支
  17. Spring依赖注入(DI)详解
  18. (PMP)第6章-----项目进度管理
  19. 【详细】Android入门到放弃篇-YES OR NO-》各种UI组件,布局管理器,单元Activity
  20. 【java】之深入理解JVM

热门文章

  1. Linux学习5-安装mysql
  2. ReentrantLock 源码分析以及 AQS (一)
  3. C语言程序设计(六) 循环控制结构
  4. Java反射之对JavaBean的内省操作
  5. js中字符串 stringObject 的 replace() 方法
  6. Docker Compose 文件讲解
  7. File 关键词
  8. 欲善事先利器-IEAD插件篇
  9. scrapy框架xpath的几点说明
  10. Spring框架——IOC 自动装载