汽车公司可能用到的知识点

iOS 加载超长长图的HTML处理

2018-12-19  本文已影响0人  num_one

UIImageView可加载的长图最长长度为16384像素(不知道原因),已测试与手机屏幕大小无关。查找资料后,本着低成本高回报的原则,查看超长图片还是转化为HTML处理最为合适。

1.先把image用HTML代码包装一下

/// 将 image 包装为 HTML 代码
- (NSString *)htmlForJPGImage:(UIImage *)image {
    NSData *imageData = UIImageJPEGRepresentation(image,1.f);
    NSString *imageBase64 = [imageData base64EncodedStringWithOptions:NSDataBase64Encoding64CharacterLineLength];
    return [NSString stringWithFormat:@"<html><body><div align=center><img src='data:image/jpg;base64,%@'/></div></body></html>",imageBase64];
}

2.iOS 8.0+使用 WKWebView 加载 HTML 代码

NSString *imgHtml = [self htmlForJPGImage:[UIImage imageNamed:@"big.jpg"]];
[self.webView loadHTMLString:imgHtml baseURL:nil];

代码结束。

小伙伴们如果想要深入了解UIImageView的运行机制和极限优化,可移步:https://www.jianshu.com/p/f750196a264a

上一篇下一篇

猜你喜欢

热点阅读