独立 App 适配深色模式(一):如何进行调试

关于我:大厂摸鱼 + 业余独立开发,之后会输出深度技术文章 + 独立开发技巧

我的往期技术文章合集:RickeyBoy - Gitbub

我的独立开发 App:iColors - 设计灵感 配色助手

独立 app 适配深色模式是一个事半功倍的事情,本文我将以我自己的独立 app:「iColors」 为例,详细讲解适配深色模式的各个步骤。

适配深色模式并不困难,按照文章的步骤来绝对没有问题!感兴趣 or 觉得有用的朋友可以点赞收藏。要是觉得非常有用,可以去 App Store 下载一下我的 App,点个五星好评哈哈!

实际效果图示:

浅色模式 深色模式

🤔为什么适配深色模式

深色模式推出以来,基本上所有的 App 都需要考虑深色模式的适配问题了。

在不做适配的情况下,深色模式几乎就是无法正常使用的,会有各种 UI 展示问题,而目前深色模式用户量其实不小,比如 iColors 第一个版本上线是没有适配深色模式的,结果第一天就遇到来自深色模式用户的抱怨哈哈。

因此,为了避免因为没有适配深色模式而直接损失用户,甚至招致差评,所以最好还是适配一下深色模式,哪怕第一版没有那么精细也没有关系。

📱第零步:学会如何调试深色模式

在一切开始之前,先要学会如何测试深色模式,这样才能比较方便地进行调试和适配。

在 Canvas 中调试

最直接的方式就是通过下面这个按钮,选择让 Preview 呈现 Dark Mode:

但是实际上还有一个大招,Canvas 已经为我们提供了适配深色模式更巧妙的办法:

选出来之后可以直接看到对比图,效果如下,是不是非常方便。这也是我目前最常使用的调试方便,充分利用 SwiftUI 的特性,边写边看实际效果。

在模拟器中调试

只需要在模拟器的导航栏中选择 Features,在下拉菜单中选择 Toggle Appearance 即可方便的切换

在真机中调试

在设置中切换就可以了,这个相信大家都很熟悉。只不过真机每次切换的流程及速度没有模拟器和 Preview 中那么快那么方便,因此我一般在适配深色模式时,不会使用真机进行调试。

🎨第一步:颜色适配深色模式

配置颜色

首先我们需要做的是对颜色进行适配。简单来讲比如浅色模式下背景使用白色,深色模式下背景使用黑色;浅色模式下标题使用黑色,深色模式下标题使用白色等。

逻辑很容易理解,那么如何实现呢?方法有不少,我目前觉得最合理的方法是在 Assets 中直接添加 Color Set。具体步骤如下:

  1. 选中 Assets,点击 "+" 或者右键空白处,可以添加 Color Set
  2. 系统会默认创建一个颜色,可以修改其名字
  3. 根据你的需要,修改 Any Appearance & Dark 的颜色,分别代表浅色模式和深色模式会使用的颜色

比如上图这是我所设置的一个叫做 ListBackground 的颜色,主要用于列表背景色。浅色模式时,列表会使用接近于白色的底色,而深色模式时会使用接近黑色的背景。


下期继续讲解颜色的适配,以及图片的适配过程!

相关推荐
私人珍藏库9 小时前
【Android】Shizuku升级版-Stellar-提高软件权限
android·app·工具·软件·多功能
东坡肘子9 小时前
被 Vibe 摧毁的版权壁垒,与开发者的新护城河 -- 肘子的 Swift 周报 #131
人工智能·swiftui·swift
用户79457223954131 天前
【DGCharts】iOS 图表渲染事实标准——8 种图表类型、高度可定制,3 行代码画出一条折线
swiftui·swift
私人珍藏库2 天前
【Android】一键硬核锁手机
android·智能手机·app·工具·软件
私人珍藏库2 天前
【Android】GameNative 0.9.0 [特殊字符] 手机畅玩Steam游戏
android·游戏·智能手机·app·工具·软件·多功能
Kingexpand_com3 天前
物联网 App 开发实战(上)—— 协议选型、跨平台开发与设备连接
物联网·app·app定制开发·物联网app开发·物联网app制作
用户79457223954135 天前
【Lottie】让设计稿上的动效直接"活"在 App 里
swiftui·swift
Bigger6 天前
CodeWalkers:让 AI 助手化身桌面宠物,陪你敲代码的赛博伙伴!
前端·app·ai编程
Bigger7 天前
搞了个整活项目:我把 GitHub Copilot 塞进了一个在屏幕上乱跑的桌面宠物里
开源·app·ai编程
用户79457223954137 天前
【SnapKit】优雅的 Swift Auto Layout DSL 库
swiftui·swift