lemoon高级玩法探索攻略
2019-10-12
Mac 应用中支持Dark Mode(深色模式)
苹果在10.14版本中添加了主题设置功能,用户可以将主题切换为Dark Mode,切换后系统应用都会自动变成深色。那么如何让应用也能自动适配Dark Mode呢?
暗黑模式的适配主要包括颜色适配和图片适配。
颜色适配(小标题16px 加粗)
对于颜色的适配,官方文档介绍了两种方法,一种是使用系统的语义颜色(semantic colors)代替固定的颜色值。例如[NSColor labelColor],[NSColor windowBackgroundColor] 使用这类语义颜色系统会自动根据当前的主题使用合适的颜色值进行渲染。也就是说它们表现出的实际颜色会随着当前主题变化而变化。所以该方法很简单,工作量也少,但是缺点也很明显:系统提供的颜色有限,不能满足所有应用场景。
高级玩法示意图
第二种方法是使用color asset,在Assets.xcassets中创建Color Set,设置不同主题下不同的颜色值。
Any Appearance:macOS Mojave 10.14.2系统以下版本的颜色值;
Light Appearance: 浅色模式下的颜色值;
Dark Appearance:深色模式下的颜色值;
在应用中通过color name获取颜色:
//该方法只能用于macOS 10.13及以上的系统
NSColor *color = [NSColor colorNamed:@"text_color"];