在我的应用程序中,表格视图的每个单元格内都会显示一个 Web 视图。为了增加响应,我们决定将网页保存为图像。所以我制作了一个不可见的网页视图,并一页一页地加载并创建了页面的图像
- (void)webViewDidFinishLoad:(UIWebView *)webView
图像已创建,但偶数图像丢失,奇数图像创建两次。也就是说,如果我正在创建四个图像,例如 image1, image2, image3, image4 。第一个和第二个图像是相同的 image2 将丢失,然后第三个和第四个相同并且 image4 将丢失。
有谁知道发生了什么?我怎样才能得到所有的图像?
编辑:保存图像的代码
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentPaths objectAtIndex:0];
CGSize pageSize = webView.frame.size;
UIGraphicsBeginImageContext(pageSize);
CGContextRef resizedContext = UIGraphicsGetCurrentContext();
[[webView layer] renderInContext:resizedContext];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData* imageData = UIImageJPEGRepresentation(image, 1.0);
NSString * filName;
filName=[NSString stringWithFormat:@"%@_Potrait_%d.jpg",[currentSctionItem. titleName stringByReplacingOccurrencesOfString:@" " withString:@"_"],fileSavingAtIndex];
NSString * filePath = [documentsDir stringByAppendingPathComponent:filName];
[imageData writeToFile:filePath atomically:NO];
NSLog(@"File created At path:%@",filePath);
fileSavingAtIndex++;
if (fileSavingAtIndex>=currentSctionItem.numberOfPagesLandscape) {
//stop
}
else{
[webView loadHTMLString:[currentSctionItem potaraitHtmlAtThePage:fileSavingAtIndex] baseURL:baseURL];
}