经过多年的等待和期待,iOS13 终于支持本机Dark Mode! 用户可以选择启用系统范围的深色外观,所有正式应用程序都将支持该外观。

概述

在应用中启用Dark Mode支持就像使用新的iOS13 SDK一样容易! 使用最新的SDK时,iOS将自动更新系统控件,例如开关,表格视图和按钮。如我们所见,Apple还使开发人员可以轻松地添加Dark Mode支持。

但是,iOS不会自动切换图像或文本颜色,因此您可能会在Dark Mode下注意到很多与应用有关的问题。

尽管使用新的iOS13 SDK进行构建会自动更新系统控件,但Apple强烈建议所有开发人员检查并更新其应用程序,以确保在启用Dark Mode时所有文本和图像都能正确显示。

幸运的是,由于苹果在过去几年中对资产目录进行了许多改进,因此大多数iOS应用程序应该能够采用Dark Mode,而无需进行重大代码更改。

适配颜色

System Color

iOS13现在在UIColor中包括新的系统颜色,例如label颜色。 通过使用iOS13中可用的新系统颜色,您的应用程序可以自动支持Dark Mode和高对比度模式。

label.color = UIColor.secondaryLabel

Custom Colors

尽管强烈建议您使用系统颜色来自动适应界面更改并确保各个应用程序之间的一致性,但是您可能希望在自定义颜色上支持深色模式。

使用iOS11的新资产目录颜色,可以通过添加自定义颜色的深色版本来轻松支持深色模式。

要添加资产目录颜色的深色版本,只需在目录中选择颜色,然后在“属性”检查器中将Appearances切换为AnyDark。 然后,添加颜色的深色外观版本。

就是这样-启用深色模式时,iOS会自动切换到资产目录颜色的深色版本,而您无需进行其他工作!

如果工程未使用资产目录颜色?

资产目录颜色使支持Dark Mode更加容易! 请参阅Antoine van der Lee撰写的博客文章,详细了解如何使用资产目录颜色,如果您不希望切换,请参阅下面的以编程方式检测Dark Mode

适配图片