webview的屏幕截图显示空白的白色屏幕

时间:2013-12-26 08:01:23

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

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

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

设备中的

,同时捕获页面应用程序正在崩溃

在模拟器中,虽然捕获它只是将空白的白色屏幕存储到相册中。在模拟器和设备中工作正常如果,我拍摄没有变焦的屏幕截图。只有在缩放网页时出现问题,我的缩放限制是最大规模= 0.45。

网页的宽度和高度:

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

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

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

1 个答案:

答案 0 :(得分:0)

因此,如果您通过相机或galery将图像分配到图像视图

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

下面是一些示例代码,它会尝试为您压缩图像,使其不超过最大压缩或最大文件大小

  

CGFloat压缩= 0.9f; CGFloat maxCompression = 0.1f; INT   maxFileSize = 250 * 1024;

     

NSData * imageData = UIImageJPEGRepresentation(yourImage,compression);

     

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