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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法相关的知识,希望对你有一定的参考价值。

ios中用UIWebView的loadhtmlString后图片和文字失调,图片过大,超过屏幕,文字太小;或者图片太小,文字太大,总之就是不协调。

我们的需求是让图片的大小跟着屏幕的变化而变化,就是动态的去适应屏幕;那么文字的字体就是我们自己可以控制,可大可小。要想达到这样的效果,我们要在用loadHTMLString加载字符串之前对它进行处理。怎么处理呢?什么原理呢?

处理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];

处理HTMLString的原理:

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

以上是关于iOS中用UIWebView的loadHTMLString后图片和文字失调解决方法的主要内容,如果未能解决你的问题,请参考以下文章

iOS UIWebView 允许所有三方cookie

UIWebView中Html中用JS调用OC方法及OC执行JS代码

swift - UIWebView 和 WKWebView(iOS12 之后替换UIWebView)

IOS UIWebView(浏览器控件)

IOS 网络浅析-(十二 UIWebView简介)

reCAPTCHA 在 iOS 10 UIWebView 中不起作用