XZ_iOS iOS13浅色模式/暗黑模式导航栏颜色不自动适配
浅色模式/暗黑模式导航栏不自动适配
进行暗黑模式适配的时候,发现来回切换暗黑模式和浅色模式时,导航栏和tabBar不随着设置改变。
查找许久,发现切换暗黑模式和浅色模式有个监听方法,如下:
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {tabBar.backgroundImage = UIImage.imageFrom(color: Asset.Colors.zBg1.color)tabBar.barTintColor = Asset.Colors.zBg1.colortabBar.barStyle = .defaultnavigationController?.navigationBar.barTintColor = Asset.Colors.zBg1.colornavigationController?.navigationBar.setBackgroundImage(UIImage.imageFrom(color: Asset.Colors.zBg1.color), for: .default)navigationController?.navigationBar.barStyle = .default}# Asset.Colors.zBg1.color 是通过第三方获取的颜色,里面包括暗黑模式和浅色模式下颜色
注意:如果方法如下的话,可能导致当前在已经push或者present内层页面的时候,tabBar和navigationBar的颜色不会改变。实测如此。
override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {UITabBar.appearance().backgroundImage = UIImage.imageFrom(color: Asset.Colors.zBg1.color)UITabBar.appearance().barTintColor = Asset.Colors.zBg1.colorUITabBar.appearance().barStyle = .defaultUINavigationBar.appearance().barTintColor = Asset.Colors.zBg1.colorUINavigationBar.appearance().setBackgroundImage(UIImage.imageFrom(color: Asset.Colors.zBg1.color), for: .default)UINavigationBar.appearance().barStyle = .default}
判断系统当前是暗黑模式还是浅色模式
if #available(iOS 13.0, *) {if UITraitCollection.current.userInterfaceStyle == .dark {//暗黑模式} else {//其他模式}
}
单独关闭某个页面的暗黑模式
if #available(iOS 13.0, *) {overrideUserInterfaceStyle = .light
}
整体禁用暗黑模式
在Info.plist中添加 "User Interface Style" 值为 Light,如下图:
XZ_iOS iOS13浅色模式/暗黑模式导航栏颜色不自动适配相关推荐
- mui案例:导航栏 颜色渐变
mui导航栏 · 滚动渐变 · 代码参考 代码: <!DOCTYPE html> <html><head><meta charset="utf-8& ...
- 微信小程序顶部导航栏颜色修改
1.单个页面,在该页面的json文件里修改 (1)修改导航栏颜色: "navigationBarBackgroundColor": "#1556D2", 去除导 ...
- IOS 改变导航栏颜色
替换系统自带的返回箭头 UIImage *image = [[UIImage imageNamed:@"leftCancelWhite"] imageWithRenderingMo ...
- 小程序导航栏颜色设置
导航栏的设置 在实际的开发过程中,窗口页面的颜色是多样的,小程序默认的导航栏颜色不能满足我们的开发需求,需要自己去设置,刚好,小程序官方文档里提供了解决方法. 在app.json中可以配置全局(默认) ...
- Android最新版修改顶部导航栏颜色和字
** Android最新版修改顶部导航栏颜色和字 ** 个人所用的AndroidStudio为4.1.2 修改App的名称在android工作区间下找到res➡values➡strings.xml这里 ...
- Android 更改导航栏颜色及隐藏导航栏
隐藏导航栏 Window window = getWindow();window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LA ...
- iOS 更改状态栏/导航栏颜色的几种实用方法
实际开发需求: 这样代码之后 导航栏颜色白色,但是状态栏没有显示 这样写之后,导航栏和状态栏都是白色 一. 状态栏的设置 iOS上状态栏就是指的最上面的20像素高的部分,状态栏分前后两部分. 前景部 ...
- Android状态栏/导航栏颜色虚拟键位颜色
添加之后 导航栏颜色 添加之前的颜色 都为透明色 用户看不清楚 详细请看 : https://www.jianshu.com/p/99084d6155f0 主要代码: Window window = ...
- html5 导航栏颜色怎么修改
HTML5导航栏颜色的修改可以通过CSS来实现.可以在HTML文件中的head部分添加一个style标签,然后使用CSS选择器选中导航栏的元素,修改其背景颜色. 例如,下面的代码将导航栏的背景颜色改为 ...
- iOS基础:修改app状态栏颜色以及原生的导航栏颜色
<1>设置状态栏文字颜色以及背景颜色 这个设置引用自链接:https://www.jianshu.com/p/889cff2b3a52 苹果目前状态栏目前有两种状态颜色 iOS7以后 状态 ...
最新文章
- c++ssh连接_一步步使SSH连接您的github仓库
- 判断仅有指针域的单链表是否有环且怎么找到环
- Sql Server全局变量(转)
- 论文阅读 - Beat Tracking by Dynamic Programming
- 我的世界暮色森林java下载_我的世界暮色森林mod1.7.2下载-暮色森林整合包下载...
- 电大计算机机考excel,中央电大计算机应用机考excel电子表格模板题库存(118页)-原创力文档...
- 解读:百度官方公告对于6.22、6.28事件解释
- Mac OSX 平台安装 MongoDB
- 作用域public,private,protected,以及不写时的区别
- 解决Layui表格需表头固定悬浮的问题
- 不读取nan行_一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
- TwinCAT软件部分参数介绍
- 苹果 ios mdm服务器搭建
- Python实现简易TCP服务器
- 制作字幕.html教程,手机拍的视频如何加字幕 字幕制作软件使用教程
- Andrew Ng-ML习题答案1
- 两个主要问题将决定微信支付成败
- libusb android 编译,Android如何对libusb进行编译和使用
- final修饰符,修饰的变量、方法、类、还有一些相关注意事项
- STM32F429第九篇之stm32f4xx_hal_rcc_ex