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开发技术支持群