如何在我的 iOS 应用程序中处理黑暗模式的黑色内容图像?

How to handle black colored content image for dark mode in my iOS App?

我在我的 iPad 应用程序中全面支持 iOS dark mode。当品牌标志图像为黑色时,该问题仅适用于深色模式。一般来说,所有品牌标志都不会是白色的,所以灯光模式没有问题。

以下是两种模式的屏幕截图:

Light 模式下的 Adura 品牌标志

深色模式下的 Adura 品牌标志

如何容纳此类徽标?我很少有人建议在灰色徽标后面设置背景视图,但有些品牌可能会再次出现灰色徽标。

此处示例代码:

// Somewhere where you set UIImage for UIImageView
let imageView = UIImage()
let image = UIImage(named: "img.png")?.withRenderingMode(.alwaysTemplate)
imageView.image = image
imageView.tintColor = .black
...

override func traitCollectionDidChange(_ previousTraitCollection: UITraitCollection?) {
        super.traitCollectionDidChange(previousTraitCollection)
        if traitCollection.userInterfaceStyle == .dark {
            imageView.tintColor = .red
        }
        else {
            imageView.tintColor = .black
        }
    }

这对我有用

  1. 第 1 步 - 像这样在 assets.xassets 中创建图像集

  2. 第 2 步 - Select 图片 select 喜欢这样

  1. 第 3 步 - 像这样将外观更改为任何、浅色、深色

  1. 像这样为任何明暗模式添加图像,并在任何需要的地方使用此图像