美文网首页汽车公司可能用到的知识点
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