3

我用的是图片,这张图片有明暗两个版本,但是当暗模式打开时UIUserInterfaceStyle,我需要将图像光版本合二为一。UIViewController我知道我可以使用tintColor,但我想知道是否有其他方法可以做到这一点。

4

2 回答 2

5

Subramanian 的答案非常适合这个用例。

但是,我真的只需要UIImage一种不同的风格,你可以执行以下操作:

// create a trait collection with `light` interface style
let traitCollection = UITraitCollection(userInterfaceStyle: .light)

// If you have an existing image, you can change it's style like this: 
let lightImage = image.withConfiguration(traitCollection.imageConfiguration)

// Or if you load the image by name, you can do this:
let lightImage = UIImage(named: "imageName", in: nil, compatibleWith: traitCollection)
于 2019-10-23T05:58:13.050 回答
1

您可以通过在 viewDidLoad 函数中设置 overrideUserInterfaceStyle 属性来选择退出特定视图控制器的暗模式。示例片段如下。

override func viewDidLoad() {
        super.viewDidLoad()

        // Always adopt a light interface style.    
        overrideUserInterfaceStyle = .light
    }

要为您的图像视图选择暗模式,您可以进行如下设置。

imageview. overrideUserInterfaceStyle = .light

您可以从下面的链接中进一步了解选择退出暗模式。希望能帮助到你。

https://developer.apple.com/documentation/xcode/supporting_dark_mode_in_your_interface/choosing_a_specific_interface_style_for_your_ios_app

于 2019-10-22T15:11:15.557 回答