最近用UIScrollView生成了一張大長圖,發現用UIImageView直接設置image展示不了。參照了Apple官方的LargeImageDownsizing,內存占用真大,真機就更慘了...后來聽說可以用webview,采用html的方式展示,試了一下,效果還不過,代碼如下:
1. image生成html函數:
- (NSString *)htmlForJPGImage:(UIImage *)image{? ? NSData *imageData = UIImageJPEGRepresentation(image,1.f);? ? NSString *imageSource = [NSString stringWithFormat:@"data:image/jpg;base64,%@",[imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength]];? ? return [NSString stringWithFormat:@"<div align=center><img src='%@' /></div>", imageSource];}
2. 生成html代碼:NSString *content = [NSString stringWithFormat:@"<html><body>%@</body></html>", contentImg];
3. web view加載html代碼:loadHTMLString
iOS8及其以上使用WKWebView~