【发布时间】:2019-10-09 11:58:59
【问题描述】:
在暗模式下使用PKDrawing 时,imageFromRect:scale: 生成的图像会返回白色的笔画。在灯光模式下,它使用黑色。背景通常是透明的。
问题:如何强制 PKDrawing 始终像在光照模式下一样工作?
【问题讨论】:
在暗模式下使用PKDrawing 时,imageFromRect:scale: 生成的图像会返回白色的笔画。在灯光模式下,它使用黑色。背景通常是透明的。
问题:如何强制 PKDrawing 始终像在光照模式下一样工作?
【问题讨论】:
你可以这样做,通过使用 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
}
【讨论】: