浅色模式/暗黑模式导航栏不自动适配

进行暗黑模式适配的时候,发现来回切换暗黑模式和浅色模式时,导航栏和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浅色模式/暗黑模式导航栏颜色不自动适配相关推荐

  1. mui案例:导航栏 颜色渐变

    mui导航栏 · 滚动渐变 · 代码参考 代码: <!DOCTYPE html> <html><head><meta charset="utf-8& ...

  2. 微信小程序顶部导航栏颜色修改

    1.单个页面,在该页面的json文件里修改 (1)修改导航栏颜色: "navigationBarBackgroundColor": "#1556D2", 去除导 ...

  3. IOS 改变导航栏颜色

    替换系统自带的返回箭头 UIImage *image = [[UIImage imageNamed:@"leftCancelWhite"] imageWithRenderingMo ...

  4. 小程序导航栏颜色设置

    导航栏的设置 在实际的开发过程中,窗口页面的颜色是多样的,小程序默认的导航栏颜色不能满足我们的开发需求,需要自己去设置,刚好,小程序官方文档里提供了解决方法. 在app.json中可以配置全局(默认) ...

  5. Android最新版修改顶部导航栏颜色和字

    ** Android最新版修改顶部导航栏颜色和字 ** 个人所用的AndroidStudio为4.1.2 修改App的名称在android工作区间下找到res➡values➡strings.xml这里 ...

  6. Android 更改导航栏颜色及隐藏导航栏

    隐藏导航栏 Window window = getWindow();window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LA ...

  7. iOS 更改状态栏/导航栏颜色的几种实用方法

    实际开发需求: 这样代码之后 导航栏颜色白色,但是状态栏没有显示  这样写之后,导航栏和状态栏都是白色 一. 状态栏的设置 iOS上状态栏就是指的最上面的20像素高的部分,状态栏分前后两部分. 前景部 ...

  8. Android状态栏/导航栏颜色虚拟键位颜色

    添加之后 导航栏颜色 添加之前的颜色 都为透明色 用户看不清楚 详细请看 : https://www.jianshu.com/p/99084d6155f0 主要代码: Window window = ...

  9. html5 导航栏颜色怎么修改

    HTML5导航栏颜色的修改可以通过CSS来实现.可以在HTML文件中的head部分添加一个style标签,然后使用CSS选择器选中导航栏的元素,修改其背景颜色. 例如,下面的代码将导航栏的背景颜色改为 ...

  10. iOS基础:修改app状态栏颜色以及原生的导航栏颜色

    <1>设置状态栏文字颜色以及背景颜色 这个设置引用自链接:https://www.jianshu.com/p/889cff2b3a52 苹果目前状态栏目前有两种状态颜色 iOS7以后 状态 ...

最新文章

  1. c++ssh连接_一步步使SSH连接您的github仓库
  2. 判断仅有指针域的单链表是否有环且怎么找到环
  3. Sql Server全局变量(转)
  4. 论文阅读 - Beat Tracking by Dynamic Programming
  5. 我的世界暮色森林java下载_我的世界暮色森林mod1.7.2下载-暮色森林整合包下载...
  6. 电大计算机机考excel,中央电大计算机应用机考excel电子表格模板题库存(118页)-原创力文档...
  7. 解读:百度官方公告对于6.22、6.28事件解释
  8. Mac OSX 平台安装 MongoDB
  9. 作用域public,private,protected,以及不写时的区别
  10. 解决Layui表格需表头固定悬浮的问题
  11. 不读取nan行_一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!
  12. TwinCAT软件部分参数介绍
  13. 苹果 ios mdm服务器搭建
  14. Python实现简易TCP服务器
  15. 制作字幕.html教程,手机拍的视频如何加字幕 字幕制作软件使用教程
  16. Andrew Ng-ML习题答案1
  17. 两个主要问题将决定微信支付成败
  18. libusb android 编译,Android如何对libusb进行编译和使用
  19. final修饰符,修饰的变量、方法、类、还有一些相关注意事项
  20. STM32F429第九篇之stm32f4xx_hal_rcc_ex

热门文章

  1. 【MFC自绘窗口】 窗口设计第一课
  2. HM16.0之帧间Merge模式——xCheckRDCostMerge2Nx2N
  3. [转]coolfire黑客入门教程系列之(四)
  4. DevExpress DXperience历史版本下载地址大全
  5. 期末总结(持续更新)
  6. 如何解决佳能mp288打印机P08、P07报错
  7. 数据库MySQL学习教程(带你零基础入门MySQL)
  8. foremost的安装及使用说明
  9. Win11系统可以快速截屏吗?
  10. win10电脑防火墙在哪里设置