私のアプリでは、テーブル ビューの各セル内に Web ビューが表示されます。レスポンスを高めるために、Web ページを画像として保存することにしました。そこで、表示されないWebビューを作成し、各ページを1つずつロードして、ページの画像を作成しました
- (void)webViewDidFinishLoad:(UIWebView *)webView
イメージは作成されますが、偶数イメージが欠落し、奇数イメージが 2 回作成されます。つまり、 image1、image2、image3、image4 という 4 つのイメージを作成している場合です。1 番目と 2 番目の画像は同じで、image2 が欠落し、3 番目と 4 番目が同じで、image4 が欠落します。
何が起こっているのか誰にも分かりませんか?すべての画像を取得するにはどうすればよいですか?
EDIT:画像を保存するためのコード
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];
}