UIWebView加载html 图片大小自适应的方法汇总

Posted 秋棠枫眠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UIWebView加载html 图片大小自适应的方法汇总相关的知识,希望对你有一定的参考价值。

方法一

处理htmlString的方法:

  NSString *htmls = [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>",htmlString];
 [self.webView loadHTMLString:htmlString baseURL:nil];

处理HTMLString的原理:

原理就是用一个for循环,拿到所有的图片,对每个图片都处理一次,让图片的宽为100%,就是按照屏幕宽度自适应;让图片的高atuo,自动适应。文字的字体大小,可以去改font-size:15px,这里我用的是15px。根据自己的具体需求去改吧。

方法二

 [webView stringByEvaluatingJavaScriptFromString:

     @"var script = document.createElement(‘script‘);"

     "script.type = ‘text/javascript‘;"

     "script.text = \"function ResizeImages() { "

     "var myimg,oldwidth;"

     "var maxwidth=300;" //缩放系数  改变参数控制图片缩放大小

     "for(i=0;i <document.images.length;i++){"

     "myimg = document.images[i];"

     "if(myimg.width > maxwidth){"

     "oldwidth = myimg.width;"

     "myimg.width = maxwidth;"

     "myimg.height = myimg.height * (maxwidth/oldwidth);"

     "}"

     "}"

     "}\";"

     "document.getElementsByTagName(‘head‘)[0].appendChild(script);"];

    

    [webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];

以上是关于UIWebView加载html 图片大小自适应的方法汇总的主要内容,如果未能解决你的问题,请参考以下文章

iOS 让HTML网页内容和图片自适应UIWebView的宽度

UIScrollView 内的 UIWebView 框架不会拉伸大小以适应所有内容

iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法

panel怎么设置自适应窗体大小

Android 如何让图片自适应WebView大小

UITableViewCell嵌套UIWebView并且cell根据webView的内容自适应