iOS 暗模式 - 图像资产未重绘

izi*_*461 4 xcode ios ios-darkmode

我正在为 iOS 实现暗模式。图像出现问题:

  • 我打开了 Assets.xcassets 并将“外观”更改为“任何,黑暗”
  • 当然,我已经添加了新图像。

不幸的是,在 xcode 中覆盖环境界面样式时,图像不会被重绘。

我已经尝试在我的 viewController 中捕获 traitCollectionDidChange 方法并且它被正确调用。我可以设置新图像(origImage_dark),但它不应该是自动的吗?这就是资产设置的目的。我正在使用图像的 .alwaysOriginal 渲染。

izi*_*461 5

运行具有图像动态解析的应用程序有助于:

let image = UIImage(named: "someImage")
let asset = image?.imageAsset
let resolvedImage = asset?.image(with: traitCollection)
Run Code Online (Sandbox Code Playgroud)

在此之后,恢复到设置图像的原始方式似乎有效。Xcode,非常感谢!

  • 它主要在 UIImageView 和控件中(如 UIButton.image)。我现在正在到处动态解析图像(并且它有效),但我的 TabBar 和 navigationBar 仍然没有 100% 更新。 (2认同)