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