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

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

进行暗黑模式适配的时候,发现来回切换暗黑模式和浅色模式时,导航栏和tabBar不随着设置改变。

查找许久,发现切换暗黑模式和浅色模式有个监听方法,如下:

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        tabBar.backgroundImage = UIImage.imageFrom(color: Asset.Colors.zBg1.color)
        tabBar.barTintColor = Asset.Colors.zBg1.color
        tabBar.barStyle = .default
        navigationController?.navigationBar.barTintColor = Asset.Colors.zBg1.color
        navigationController?.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:
wxh@wxh-dt:~/tplink/PLATFORM$ git checkout vine3-maplePine-red error: 您对下列文件的本地修改将被检出操作覆盖: build/product_configs/en7529_EAP650GPv1/config.sdk.bk build/product_configs/en7529_EAP650GPv1/config.sdk.h smb_priv/kernel_modules/nm_flash/.nm_flash.ko.cmd smb_priv/kernel_modules/nm_flash/.nm_flash.o.cmd smb_priv/kernel_modules/nm_flash/modules.order toolchain/host_tools/mkimage toolchain/host_tools/squashfs4.2/squashfs-tools/mksquashfs toolchain/host_tools/squashfs4.2/squashfs-tools/unsquashfs toolchain/host_tools/xz-5.2.2/Makefile toolchain/host_tools/xz-5.2.2/config.log toolchain/host_tools/xz-5.2.2/config.status toolchain/host_tools/xz-5.2.2/debug/Makefile toolchain/host_tools/xz-5.2.2/lib/Makefile toolchain/host_tools/xz-5.2.2/libtool toolchain/host_tools/xz-5.2.2/po/Makefile toolchain/host_tools/xz-5.2.2/po/Makefile.in toolchain/host_tools/xz-5.2.2/src/Makefile toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-alone_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-alone_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-arm.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-armthumb.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-auto_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_buffer_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_buffer_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_header_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_header_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-block_util.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-check.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-common.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-crc32_fast.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-crc32_table.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-crc64_fast.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-crc64_table.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-delta_common.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-delta_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-delta_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-easy_buffer_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-easy_decoder_memusage.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-easy_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-easy_encoder_memusage.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-easy_preset.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-fastpos_table.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_buffer_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_buffer_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_common.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_flags_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-filter_flags_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-hardware_cputhreads.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-hardware_physmem.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-ia64.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-index.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-index_decoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-index_encoder.Plo toolchain/host_tools/xz-5.2.2/src/liblzma/.deps/liblzma_la-index_hash.Plo toolchai 正在终止
最新发布
11-27
<think> 首先,用户的问题是关于Git命令的错误信息。用户尝试了 `git checkout vine3-maplePine-red` 但遇到了错误,错误信息显示本地修改的文件会被检出操作覆盖,因此操作终止。 关键点: - 错误类型:当尝试切换分支时,如果有未提交的更改,Git会阻止切换分支,因为这会覆盖本地修改。 - 解决方案:用户需要处理这些未提交的更改。常见方法包括: 1. 提交更改:使用 `git add` `git commit` 保存更改。 2. 储藏更改:使用 `git stash` 临时保存更改,之后再应用。 3. 丢弃更改:使用 `git checkout -- <file>` 或 `git reset --hard` 丢弃更改(谨慎使用)。 在回答中,我应该: - 解释错误原因。 - 提供解决方法。 - 根据规则,回答后必须提出3-5个相关问题,以“§§相关问题§§”开头,然后列出1. 2. 3.等。 相关问题应基于用户的问题我的回答,比如: - 如何正确地切换分支? - 什么是Git储藏? - 如何丢弃本地修改? - 如何查看当前分支的状态? - 如何避免这种错误? 确保回答用中文,因为用户指定了“请使用中文回答问题”。 结构化回答: 1. 解释错误:用户试图切换分支,但有未提交的更改,Git防止数据丢失。 2. 建议解决方案: - 提交更改:`git add .` `git commit -m "message"` - 储藏更改:`git stash`,然后 `git checkout`,之后 `git stash pop` - 丢弃更改:`git checkout -- <file>` 或 `git reset --hard` 3. 结束回答后,添加“§§相关问题§§”并列出3-5个相关问题。 相关问题示例: 1. 如何查看当前分支的未提交更改? 2. Git储藏(stash)的具体用法是什么? 3. 如何永久丢弃本地修改而提交? 4. 切换分支时如何避免覆盖本地更改? 5. 如果我有多个分支,如何管理未提交的工作? 最后,确保输出格式正确:一行“§§相关问题§§”,然后直接列出问题,用数字点号,要换行分散。 </think>### 问题分析 您在尝试切换到分支 `vine3-maplePine-red` 时遇到了 Git 错误。错误信息表明您对多个文件有本地修改(未提交或未储藏),而切换分支会覆盖这些修改。Git 为防止数据丢失,强制终止操作。常见原因包括: - 本地修改了代码但未提交(例如配置文件、编译生成文件等)。 - 未使用 `git stash` 临时保存工作状态。 ### 解决方案 1. **提交当前更改**(推荐): ```bash git add . # 添加所有修改到暂存区 git commit -m "保存本地修改" # 提交更改 git checkout vine3-maplePine-red # 切换分支 ``` 2. **储藏更改**(临时保存): ```bash git stash # 储藏所有修改 git checkout vine3-maplePine-red # 切换分支 git stash pop # 切换后恢复储藏内容 ``` 3. **丢弃本地修改**(谨慎使用): ```bash git reset --hard # 丢弃所有未提交修改 git checkout vine3-maplePine-red # 切换分支 ``` 4. **检查具体文件**: 使用 `git status` 查看哪些文件被修改,再针对性处理。 ### 注意事项 - 优先选择提交或储藏,避免数据丢失。 - 错误中列出的文件(如 `config.sdk.bk`, `mksquashfs`)多为编译生成文件,若无需保留可直接丢弃。 - 切换分支前确保工作区干净(`git status` 无未提交修改)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值