Ios 使用转换为UIImage绘制UIView
使用drawHierarchyin:AfterScreenUpdate:和CALayer.render方法可以轻松地将UIView绘制到UIImage中,例如:Ios 使用转换为UIImage绘制UIView,ios,uiview,uiimage,screenshot,image-capture,Ios,Uiview,Uiimage,Screenshot,Image Capture,使用drawHierarchyin:AfterScreenUpdate:和CALayer.render方法可以轻松地将UIView绘制到UIImage中,例如: let renderer = UIGraphicsImageRenderer(size: size) return renderer.image { rendererContext in view.drawHierarchy(in: view.frame, afterScreenUpdates: true) } 但我想渲染UI
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image { rendererContext in
view.drawHierarchy(in: view.frame, afterScreenUpdates: true)
}
但我想渲染UIView,包括其变换和/或其层的变换。我怎样才能做到这一点?我需要渲染一个缩放和旋转的UIView
一个备用解决方案是将其superview渲染为UIImage,但为此,我必须更改UI层次结构…此问题有一个解决方法。将带有变换的UIView包装到另一个视图中,而不使用变换视图的框架进行变换。将转换后的视图放在包装器视图的.zero位置,并在包装器视图上调用drawHierarchyin: 或者在我的特殊情况下,我需要绘制文本视图,最终直接用核心图形绘制文本