独立 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 的颜色,主要用于列表背景色。浅色模式时,列表会使用接近于白色的底色,而深色模式时会使用接近黑色的背景。


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

相关推荐
私人珍藏库7 小时前
【Android】BotHub-多模型AI机器人聚合库-内置免费模型
android·人工智能·智能手机·app·工具·多功能
私人珍藏库10 小时前
【Android】瞬净ins版-无水印解析-无水印视频保存
android·app·工具·软件·多功能
私人珍藏库12 小时前
【Android】瞬净豆包版-豆包去水印解析-支持视频-图集解析
智能手机·app·工具·软件·多功能
大熊猫侯佩1 天前
WWDC26 SwiftUI 进化之路:砸碎黑盒,彻底迎来开发自由!
ios·swiftui·swift
私人珍藏库1 天前
【Android】VLLO-韩国热门手机剪辑APP
android·app·工具·软件·多功能
Flywith242 天前
开源项目:把本地视频转成 Live Photo 并导入 Apple Photos
app·mac·apple
zandy10112 天前
SaaS 多租户架构设计实践:衡石 BI 如何实现数据隔离与资源调度
app·多租户·isv
私人珍藏库2 天前
【Android】压缩视频1.1.28-视频压缩-解放内存
android·app·工具·软件·多功能
ᴀᴠɪᴄɪɪ ғᴏʀᴇᴠᴇʀ2 天前
WebHomeTV:把 Android 影音盒子变成一个可编程的网页应用平台
app·安卓·智能tv·tv box·webtv
私人珍藏库3 天前
【Android】iTubeGo(去除限制)
android·智能手机·app·工具·多功能