iphone - 将 UIWebview 内容转换为 UIImage

标签 iphone objective-c cocoa-touch core-animation

我正在使用 UIWebView 来显示 HTML 格式的文本。我没有加载网页,只是向 UIWebView 提供了一个 HTML 字符串。

现在我想在屏幕上为这个 UIWebView 设置动画,实际上是其中的几个(一次 2-10 个)。 UIWebView 有点重,虽然我还没有尝试过,但我已经做好了最坏的打算。 (我不认为这是过早的优化,我几乎肯定这将是一个问题)

为了解决这个问题,我想我可以将 UIWebViews 的内容转换为 UIImages 并为它们设置动画。

所以,我的问题是:

  1. 如何转换 UIWebview UIImage 的内容(或 CGImageRef)?
  2. 我的 UIWebViews 有 透明的背景,将 透明度被转移到 UIImage?

谢谢你的建议

最佳答案

UIGraphicsBeginImageContext(webview.bounds.size);
[webview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

如果 webview 尺寸很大,您可能会遇到问题,因为 webview 使用的 CATiledLayer 由于内存原因不会绘制所有内容。

图像将包括透明度

关于iphone - 将 UIWebview 内容转换为 UIImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/858788/

相关文章:

iphone - 当用户选择 UITextField 时,如何显示 UIDatePicker 而不是键盘?

iphone - 如何从 TTLauncher/Three20 中删除项目?

iOS View Controller 底部的空白区域

iphone - 如何在 Objective-C 中制作一个向上计数的计时器?

iphone - 如何为 "oneOf"编写函数或宏...在可变参数中进行转换?

ios - 获取多次出现的字符串之间的字符串

iphone - 如何获取 facebook 群组中只有我的好友的成员

iphone - 如何更高效地使用 UIPickerView?

ios - 我可以在 UITextField 中有多个 leftOverlay 项目或同时有 2 个独立的文本吗?

iphone - 背景图像颜色未正确显示