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


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

相关推荐
guanpinkeji8 小时前
加油卡APP定制搭建,让加油更便捷!
app·团队开发·软件开发·app开发·加油卡·加油卡app
Swift社区1 天前
Apple 新品发布会亮点有哪些 | Swift 周报 issue 61
ios·swiftui·swift
艾小逗2 天前
uniapp快速入门教程,内容来源于官方文档,仅仅记录快速入门需要了解到的知识点
小程序·uni-app·app·es6
humiaor2 天前
Xcode报错:No exact matches in reference to static method ‘buildExpression‘
swiftui·xcode
程序者王大川9 天前
【移动端】Flutter与uni-app:全方位对比分析
flutter·uni-app·app·nodejs·全栈·dart·移动端
humiaor11 天前
Xcode报错:Return from initializer without initializing all stored properties
swiftui·binding
wusp199411 天前
基于Python的电商导购APP设计与实现
python·app·电商·导购·设计与实现
YesPMP平台官方21 天前
掀起社交娱乐新浪潮!AI如何应用到短视频APP?
大数据·人工智能·ai·app·ar·短视频
AUV110724 天前
推荐一款强大的 macOS 剪贴板增强工具:CleanClip
macos·app·效率工具·实用工具·剪贴板管理
YesPMP官方账号25 天前
如何满足业主多元需求?开发物业APP,打造智能社区生活
大数据·小程序·app·软件开发·物业