【问题标题】:PKDrawing different results for Dark Mode and Light ModePKD为暗模式和亮模式绘制不同的结果
【发布时间】:2019-10-09 11:58:59
【问题描述】:

在暗模式下使用PKDrawing 时,imageFromRect:scale: 生成的图像会返回白色的笔画。在灯光模式下,它使用黑色。背景通常是透明的。

问题:如何强制 PKDrawing 始终像在光照模式下一样工作?

【问题讨论】:

标签: ios ios13


【解决方案1】:

你可以这样做,通过使用 traitCollection.performAsCurrent:

let darkImage = thumbnail(drawing: drawing, thumbnailRect: frameForImage, traitCollection: UITraitCollection(userInterfaceStyle: .dark))

func thumbnail(drawing: PKDrawing, thumbnailRect: CGRect, traitCollection: UITraitCollection) -> UIImage {

    var image = UIImage()
    traitCollection.performAsCurrent {
        image = drawing.image(from: thumbnailRect, scale: 2.0)
    }
    return image
}

【讨论】:

  • 这太棒了!它完美地工作。谢谢 Stefan,拯救了我的一天。
  • 这对 ios 非常有效 - 但知道如何在 OSX 上做同样的事情吗?
猜你喜欢
  • 2023-02-10
  • 1970-01-01
  • 2020-11-21
  • 2022-01-10
  • 2021-08-12
  • 2021-12-30
  • 2020-07-12
  • 2022-01-10
  • 2022-12-09
相关资源
最近更新 更多