【问题标题】:screnshot of uiwebview showing blank white screen [closed]显示空白白屏的 webview 屏幕截图 [关闭]
【发布时间】:2014-01-13 21:38:50
【问题描述】:

我的应用在iOS 6.1Xcode 4.6 中运行良好。现在,在我更新到 iOS 7 和 xcode 5.0 后,应用程序崩溃了。

场景是,我想在 uiwebview 中加载 url,缩放页面并捕获 webview,然后将屏幕截图保存到相册中。

在设备中,捕获页面时应用程序崩溃

在模拟器中,捕获时仅将空白屏幕存储到相册中。如果我在没有缩放的情况下拍摄屏幕截图,它在模拟器和设备中都可以正常工作。问题仅发生在缩放网页时,我的缩放限制是最大值=0.45。

网页的宽高:

2013-12-31 15:11:04.886 采样[1890:70b] frame.size.width: 437.000000

2013-12-31 15:11:04.886 采样[1890:70b] frame.size.height: 10032.000000

如果我的图像高度超过 5000 像素,我会遇到这个问题。

【问题讨论】:

  • 请提供崩溃报告

标签: ios objective-c memory-management crash uiimageview


【解决方案1】:

因此,如果您通过相机或画廊将图像分配给图像视图

我们需要在拍摄图像后压缩图像然后分配给UIImageview,这样它就不会拍摄原始图像。

这里有一些示例代码会尝试为您压缩图像,使其不超过最大压缩或最大文件大小

CGFloat 压缩 = 0.9f; CGFloat maxCompression = 0.1f;整数 最大文件大小 = 250*1024;

NSData *imageData = UIImageJPEGRepresentation(yourImage, compression);

while ([imageData length] > maxFileSize && 压缩 > 最大压缩){ 压缩-= 0.1; imageData = UIImageJPEGRepresentation(yourImage, 压缩); }

【讨论】: