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的主要内容,如果未能解决你的问题,请参考以下文章

IOS开发 问一个spritekit问题

uiview的几个刷新的界面刷新的方法

IOS 以随意点为圆心 旋转UIView

iOS 7,UIView 子视图为零

如何在 iOS 中将 UIView 转换为 PDF?

如何在 iOS 中将 UIView 转换为 PDF?