iOS 13 darkmode 适配的动态颜色 cheatsheet

深色模式,作为 iOS 13 最大的新特性,从设计者角度,带来设计体系、颜色、材质、系统控件、SF Symbols 等若干方面的新的变化;对于开发者来讲,我们熟知的适配; – 屏幕尺寸 – 屏幕方向 – View 渲染阶段(指 viewDidLoad 和 viewDidAppear 两个阶段,view 的尺寸是变化的) – iOS SDK 适配 等适配维度,而后又多了一个维度, – 外观模式(dark or light) Dark mode 的适配,我们需要处理图片、背景、填充、文字和分割线的逻辑。首先是设计师对两种外观,必须设计两套不同的颜色方案。当两套方案送到开发者手上的时候,我们也需要根据不同外观应用到不同的颜色。但幸好,开发者可以做一次封装把这层逻辑封装起来,给其他开发者使用时,屏蔽内部逻辑。为了这个目的,iOS 提供了被动式适配——动态颜色; let backgroundColor = UIColor { (trainCollection) -> UIColor in if trainCollection.userInterfaceStyle == .dark { […]

Read more