我刚刚在我的应用程序中添加了暗模式。
这些不是我真正的资产
我正在尝试在较旧的iOS版本上支持暗模式。 在我尝试这样做的过程中,我添加了一个覆盖以强制暗模式,该模式适用于我的自定义颜色和主题,但不适用于图像。
是否可以访问 dark 在iOS13之前以编程方式显示图像?
dark
对于iOS12,我尝试了以下方法:
if #available(iOS 12.0, *) { let traits = UITraitCollection(userInterfaceStyle: .dark) let image = UIImage( named: "Image", in: bundle, compatibleWith: traits ) }
这只会返回正常的外观,方法命名似乎表明这只会检查我传递的特征集合是否与图像兼容。
据我所知,只有一项资产是不可能做到这一点的。低于iOS 13时,系统将始终采用 Any 外貌您需要创建两个具有不同名称的不同图像集,并从中选择一个。
Any
这有点令人困惑,因为 UIUserInterfaceStyle 在iOS 12+中可用,但这可能是因为macOS在那年进入了黑暗模式。
UIUserInterfaceStyle