image: 这些 api 已被废弃,所以需要判断 iOS 版本 写两套代码: Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer 创建绘图渲染器 let renderer = UIGraphicsImageRenderer(size: self.bounds.size, UIGraphicsImageRendererFormat alloc] init]; format.scale = scale; format.opaque = NO; UIGraphicsImageRenderer UIGraphicsEndPDFContext() return image } Replace usage of UIGraphicsBeginImageContext with UIGraphicsImageRenderer Replace usage of UIGraphicsBeginImageContextWithOptions with UIGraphicsImageRenderer.
image-20220815112324138方案一的注意事项为了保证图片缩放后的质量,范例中采用了 SVG 格式鉴于 SwiftUI 提供的图片缩放 modifier 均会改变类型,缩放操作将使用 UIGraphicsImageRenderer 针对 UIImage 进行extension UIImage { func resized(to size: CGSize) -> UIImage { return UIGraphicsImageRenderer : CGSize) async -> UIImage { let format = UIGraphicsImageRendererFormat() let image = UIGraphicsImageRenderer
Use UIGraphicsImageRenderer to avoid this assert.' *** First throw call stack: ( 0 CoreFoundation
在UIView.draw()、UIGraphicsImageRenderer、UIGraphicsImageRenderer.Range中是默认开启的。