美文网首页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