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


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

相关推荐
今天也想MK代码3 天前
在Swift开发中简化应用程序发布与权限管理的解决方案——SparkleEasy
前端·javascript·chrome·macos·electron·swiftui
veteranJayBrother4 天前
uniapp实现书架
微信小程序·uni-app·app·书架
胡西风_foxww6 天前
高考相关 APP 案例分享
算法·app·志愿·高考
東三城8 天前
【ios】---SwiftUI开发从入门到放弃
ios·swiftui·swift·1024程序员节
YesPMP259 天前
短剧小程序,打造专属短剧观看平台
小程序·app·html5·平台·短剧·影视
今天也想MK代码11 天前
基于swiftui 实现3D loading 动画效果
ios·swiftui·swift
胖虎111 天前
SwiftUI(五)- ForEach循环创建视图&尺寸类&安全区域
ios·swiftui·swift·foreach·安全区域
zyosasa17 天前
SwiftUI 精通之路 11: 栅格布局
前端·swiftui·swift
小溪彼岸22 天前
【iOS小组件实战】灵动岛实时进度通知
swiftui·swift
飞飞_圆代码22 天前
iOS安卓渠道归因分析在App推广矩阵中的场景应用
android·ios·app