iOS UIView转化为UIImage
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS UIView转化为UIImage相关的知识,希望对你有一定的参考价值。
参考技术A 项目里需要用到将view转换为image的功能,网上找了一些资料,在这里做一下记录绘制 UIView 并转换为 UIImage
【中文标题】绘制 UIView 并转换为 UIImage【英文标题】:Draw UIView with transform into UIImage 【发布时间】:2018-07-31 15:18:27 【问题描述】:使用drawHierarchy(in: afterScreenUpdates:)
和CALayer.render
方法很容易将UIView
绘制成UIImage
,例如:
let renderer = UIGraphicsImageRenderer(size: size)
return renderer.image rendererContext in
view.drawHierarchy(in: view.frame, afterScreenUpdates: true)
但我想渲染UIView
,包括它的变换和/或其层的变换。我怎样才能做到这一点?我需要渲染一个经过缩放和旋转的UIView
。
一种备用解决方案是将其超级视图呈现为UIImage
,但为此我将不得不更改 UI 层次结构...
【问题讨论】:
【参考方案1】:有解决此问题的方法。将带有变换的UIView
包装到另一个带有“变换视图”的frame
的视图(没有变换)。将转换后的视图放在包装视图中的.zero
位置并调用drawHierarchy(in:)
(在包装视图上)。
或者在我的特定情况下,我需要绘制文本视图,最后我直接使用 Core Graphics 绘制文本。
【讨论】:
以上是关于iOS UIView转化为UIImage的主要内容,如果未能解决你的问题,请参考以下文章