我用的是图片,这张图片有明暗两个版本,但是当暗模式打开时UIUserInterfaceStyle
,我需要将图像光版本合二为一。UIViewController
我知道我可以使用tintColor
,但我想知道是否有其他方法可以做到这一点。
问问题
1219 次
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
您可以从下面的链接中进一步了解选择退出暗模式。希望能帮助到你。
于 2019-10-22T15:11:15.557 回答