首页 > iOS修改UIWebView中的图片大小

iOS修改UIWebView中的图片大小

UIWebView通过给定的html代码字符串载入页面 (注意不是通过直接给出URL地址加载网页, 也不是通过html文件载入). 如何修改图片大小? 希望各位大神帮忙解决, 最好能够帮忙写出代码!

需要改变图片大小的HTML代码如下:

<html>
 <head></head>
 <body>
  <div data-align="\&quot;center\&quot;">
   <img alt="\&quot;含铝食品题图900.jpg\&quot;" src="\&quot;http://img.dxycdn.com/dotcom/2015/10/12/57/r6sw1iug.jpg\&quot;" data-image-size="\&quot;900,500\&quot;" />
   <br />
  </div>
  <div>
   一曲 「豆浆油条」曾经引起了很多人共鸣,因为它唱出了恋人的甜蜜状态。很多国人的早餐也是这么吃的,而且吃了很多年。
   <br />
  </div>
  <div>
   不过,油条中可能含有一种不利健康的元素——铝。
  </div>
  <div>
   你知道铝元素存在于哪些食品中吗?对我们的健康有什么影响?
  </div>
  <h2>食物中的铝元素从哪里来?</h2>
  <div>
   铝是一种地壳中含量丰富的金属元素,它在日常生活中也用途广泛,可以用于制造炊具、食物包装材料等。所以,饮食中是可能存在铝元素的,但食物中天然含有的铝元素含量通常并不高。
  </div>
  <div>
   调查显示,人们吃进去的铝元素主要来自含铝食品添加剂。
  </div>
  <h2>含铝添加剂主要用在哪些食物中?</h2>
  <div>
   说到含铝的食品添加剂,可能有些人就会想到明矾,因为明矾的学名正是「十二水合硫酸铝钾」。在传统的油条等其他油炸食品制作工序中,为了形成蓬松的口感,通常都会用到明矾。
  </div>
  <div>
   但其实除了油条之外,豆类、糖果、膨化食品、乳粉、食糖、调味料等也可能含有铝,甚至馒头、面条等许多常见食品中都可能有「含铝添加剂」的身影。
  </div>
  <h2>铝对健康有何危害?</h2>
  <div>
   有说法称,摄入铝过量,可以导致贫血、骨质疏松症,同时,体内铝过多,很难从肾脏排出,对大脑及神经细胞产生毒害,引起老年痴呆症。这些是真的吗?
  </div>
  <div>
   虽然人通过饮食会摄入一些铝元素,但这个摄入量其实并不高,目前并未发现引起急性中毒的案例。
   <br />
  </div>
  <div>
   铝元素进入人体后,不易被排出。长此以往,就会在人体内蓄积,从而影响骨骼和神经系统的健康,造成慢性损害。
   <br />
  </div>
  <div>
   那么,铝会不会导致老年痴呆呢?
  </div>
  <div>
   尽管有部分研究提示过量摄入铝与老年性痴呆的发生存在一定相关,但欧洲食品安全局(EFSA)在 2008 年时对膳食中的铝进行风险评估显示:
  </div>
  <blockquote>
   <div>
    <b><font color="\&quot;#999999\&quot;">基于现有的证据,不认为从食物中摄入的铝会有导致老年人患痴呆的风险。</font></b>
   </div>
  </blockquote>
  <div>
   联合国粮农组织 / 世界卫生组织食品添加剂联合专家委员会(JECFA)在 2006 年和 2011 年进行的评估,也都认为目前的研究也不能得出铝会导致老年痴呆的结论。
  </div>
  <div>
   所以,铝与老年痴呆的关系并不能确定。
  </div>
  <div data-align="\&quot;center\&quot;">
   <img alt="\&quot;含铝食品插图600.jpg\&quot;" src="\&quot;http://img.dxycdn.com/dotcom/2015/10/12/58/nmdiw4ij.jpg\&quot;" data-image-size="\&quot;600,333\&quot;" />
   <br />
  </div>
  <h2>人每天摄入多少铝元素才是安全的?&nbsp;</h2>
  <div>
   联合国粮农组织 / 世界卫生组织的食品添加剂联合专家委员会(JECFA)于 2011 年将铝的「暂定每周耐受摄入量」(PTWI)确定为:每周每公斤体重 2 毫克。
  </div>
  <div>
   这相当于,一个 60 公斤重的成年人每周吃进去的铝低于 120 毫克,就不会导致铝的蓄积或引起健康损害。
  </div>
  <div>
   需要提醒的是,要对健康造成影响所需要的铝,远远超过 JECFA 规定的「暂定每周耐受摄入量」,一般人不用太担心。
  </div>
  <div>
   <font color="\&quot;#333333\&quot;">如果普通人吃进去的铝只是偶尔超过这个量,并非长期超量,通常不会影响健康;但若长期饮食结构单一,则可能存在风险。</font>
  </div>
  <h2>我们摄入的铝有多少?</h2>
  <div>
   2012 年,国家食品安全风险评估中心对我国居民通过食品摄入的铝进行了全面的风险评估,评估结果显示:
  </div>
  <ul>
   <li>我国居民吃进去的铝,按平均值算,是低于 PTWI 的。但我国居民铝摄入量的地域差异很大,比如喜欢吃面食的北方人平均摄入量就超过了 PTWI。</li>
   <li>14 岁以下儿童及一些经常食用含铝量较高食物的人,有一定的健康风险。</li>
   <li>我国居民日常铝摄入的最大来源就是含铝的食品添加剂,约占 75%。</li>
  </ul>
  <div>
   因此,官方已经对含铝添加剂的使用规范进行了修改,从 2014 年 7 月 1 日开始,已经做了许多限制,一些含铝食品添加剂已禁止使用,尤其是馒头、发糕、膨化类等食品生产过程中也禁止添加。
  </div>
  <div>
   不过油炸面制品、挂浆用的面糊、裹粉、煎炸粉是这份规范中除外的,因此特定人群应注意少吃这几类食物。
  </div>
  <h2>在日常生活中,如何防止摄取过多铝元素?</h2>
  <div>
   首先,大家应该尽量保持均衡饮食。
  </div>
  <ol>
   <li>不要每天早餐都是油条、油饼等面食,可以和米饭、杂粮等其他食品搭配着吃,避免膳食单一而摄入过多的铝。</li>
   <li>海蜇等海产品的铝含量也偏高,建议减少海蜇等海产品的食用频次,如果要吃必须反复浸泡、清洗。</li>
   <li><font color="\&quot;#333333\&quot;">一些淀粉类食品如粉条、粉丝、粉皮、凉粉、凉皮等为了让口感更筋道,在制作时也常被加入含铝添加剂,大家也可以少吃。</font><br /></li>
  </ol>
  <div>
   其次,在选购食品时,注意看食品标签是否有含铝添加剂,如果有,就尽量少买少吃。
   <br />
  </div>
  <div>
   另外,由于儿童可能要面临更大的铝超标风险,家长和老师要引导儿童,尽量减少摄入含铝食品,例如之前提到的油炸面制品、挂浆用的面糊、裹粉、煎炸粉相关食品等。
   <br />
  </div>
  <div>
   最后,要尽量减少铝制器具、铝箔的使用。在使用铝制器皿时,避免盛装酸性食物(比如番茄、醋等)导致铝元素溶出。
   <font color="\&quot;#333333\&quot;">还应避免用钢丝球等擦刷铝制炊具,以免表面的氧化膜保护层受损而增加铝元素的移出。</font>
  </div>
  <div data-align="\&quot;right\&quot;">
   责任编辑:BruceLi
  </div>
  <div>
   <font color="\&quot;#999999\&quot;"><b>丁香园版权所有,未经许可不得转载。</b><br /></font>
  </div>
  <div>
   <font color="\&quot;#999999\&quot;">图片来源:123rf.com.cn 正版图片库</font>
  </div>
  <div>
   <font color="\&quot;#999999\&quot;">参考资料:<br /></font>
  </div>
  <div>
   <font color="\&quot;#999999\&quot;">1. IPCS. Aluminium. Environmental Health Criteria 194. Geneva : WHO; 1997.</font>
  </div>
  <div>
   <font color="\&quot;#999999\&quot;">2. 香港食物安全中心. 风险评估研究,第三十五号报告书. 食物中铝的含量.</font>
  </div>
  <div>
   <font color="\&quot;#999999\&quot;">3. Panel on Food Additives, Flavourings, Processing Aids and Food Contact Materials (AFC). Scientific Opinion of AFC: Safety of aluminium from dietary intake. EU: EFSA; 2008.</font>
  </div>
  <div>
   <font color="\&quot;#999999\&quot;">4. Joint FAO/WHO food standards programme, Codex committee on food additives, 45th session, Beijing, China, 18-22 March 2012: Recommendations for provisions for aluminium-containing food additives of the GSFA. CX/FA/13/45/8. December 2012</font>
  </div>
 </body>
</html>

1.使用css进行图片的自适应

在web前端,也就是HTML中,如果只设置图片的宽度,那么高度会根据图片原本尺寸进行缩放。
如果后台返回的HTML代码中,不包含<head>标签,则可以直接在HTML字符串前加上一下面的代码(如果包含<head>,则在<head>标签内部添加)。代码含义是,不管用户以前设置的图片尺寸是多大,都缩放到宽度为320px大小。

<head><style>img{width:320px !important;}</style></head>

2.使用js进行图片的自适应

在webview的代理中,执行js代码。(下面这段代码是必须有<head>标签的)
如果没有<head>标签,也很简单,只需要给返回的HTML字符串前面拼接一个<head></head>即可。

- (void)webViewDidFinishLoad:(UIWebView *)webView
 {
    [webView stringByEvaluatingJavaScriptFromString:
     @"var script = document.createElement('script');"
     "script.type = 'text/javascript';"
     "script.text = \"function ResizeImages() { "
         "var myimg,oldwidth,oldheight;"
         "var maxwidth=320;"// 图片宽度
         "for(i=0;i  maxwidth){"
                 "myimg.width = maxwidth;"
             "}"
         "}"
     "}\";"
     "document.getElementsByTagName('head')[0].appendChild(script);"];
    [webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];
}
【热门文章】
【热门文章】