美文网首页汽车公司可能用到的知识点
iOS 加载超长长图的HTML处理

iOS 加载超长长图的HTML处理

作者: num_one | 来源:发表于2018-12-19 12:16 被阅读0次

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

相关文章

网友评论

    本文标题:iOS 加载超长长图的HTML处理

    本文链接:https://www.haomeiwen.com/subject/tjadkqtx.html