美文网首页iOS精选iOS开发
iOS-UIWebView加载HTMLString图片显示超过屏

iOS-UIWebView加载HTMLString图片显示超过屏

作者: abcdef沧海 | 来源:发表于2017-02-08 11:42 被阅读1420次

    使用[self.webView loadHTMLString:htmls baseURL:nil]单纯加载HTMLString的小技巧。

    主要解决的是当加载的HTMLString既有文字又有图片时,图片没有缩放,导致图片宽度超过屏幕宽度,使得webView整体左右都可以滑动

    /**
    * str就是后台返回的富文本string
    * " $img[p].style.width = '100%%';\n"--->就是设置图片的宽度的
    * 100%代表正好为屏幕的宽度
    */

    NSString *htmlString = [NSString stringWithFormat:@"<html> \n"
                            "<head> \n"
                            "<style type=\"text/css\"> \n"
                            "body {font-size:15px;}\n"
                            "</style> \n"
                            "</head> \n"
                            "<body>"
                            "<script type='text/javascript'>"
                            "window.onload = function(){\n"
                            "var $img = document.getElementsByTagName('img');\n"
                            "for(var p in  $img){\n"
                            " $img[p].style.width = '100%%';\n"
                            "$img[p].style.height ='auto'\n"
                            "}\n"
                            "}"
                            "</script>%@"
                            "</body>"
                            "</html>",str];
    
    [self.webView loadHTMLString:htmlString baseURL:nil];
    
    [self.view addSubview:_webView];
    

    }

    屏幕快照 .png

    相关文章

      网友评论

      • 会喷火的小火龙:刚好解决问题:blush:
      • 承宇:感谢分享,但是这段代码会造成主线程阻塞,博主有什么好的优化方法么。

      本文标题:iOS-UIWebView加载HTMLString图片显示超过屏

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