Я понял это: ключ заключается в извлечении изображений из NSURLCache
. Однако, поскольку iOS 8, кажется, вам нужно установить кеш-память по умолчанию в первую очередь в application:didFinishLaunchingWithOptions:
, чтобы это работало. Например:
В application:didFinishLaunchingWithOptions:
[NSURLCache setSharedURLCache:[[NSURLCache alloc]
initWithMemoryCapacity:32*1024*1024 diskCapacity:64*1024*1024 diskPath:...]
Затем после UIWebView
закончил загрузки:
NSCachedURLResponse * response = [[NSURLCache sharedURLCache]
cachedResponseForRequest:[NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://.../image.png"]]];
if (response.data)
{
UIImage * nativeImage = [UIImage imageWithData:response.data];
....
}
Если вы уже не имеете его, вы можете получить массив изображений из UIWebView
с
NSArray * images = [[webView stringByEvaluatingJavaScriptFromString:
@"var imgs = []; for (var i = 0; i < document.images.length; i++) "
"imgs.push(document.images[i].src); imgs.toString();"]
componentsSeparatedByString:@","];