WebView加载HTML时图片适配屏幕
今天使用WebView加载HTML时,发现图片过大,没有适配屏幕,于是我设置webView.scalesPageToFit = YES,设置之后,图片确实小了,但是文字也相应地缩小了,而且图片太小,没事配屏幕,不符合我的要求,于是,我又想到了用js解决(记得设置webView.scalesPageToFit = NO)
1 - (void)webViewDidFinishLoad:(UIWebView *)web 2 { 3 int count = [[webView stringByEvaluatingJavaScriptFromString:@"document.images.length"] intValue]; //获取img标签的数量 4 for (int i=0; i<count; i++) { 5 [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.images[%d].style.maxWidth='100%%'", i]]; //图片宽度100%适应,若大于320,缩放,若小于不处理 6 [webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.images[%d].style.height='auto'", i]]; //图片高度自适应 7 } 8 }
这样坐下来,功能实现了,但是,对于我来说,还差一步,因为这样的WebView不能缩放了,继续修改html字符串,在html字符串前面加一句话
1 <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=5.0, user-scalable=yes\" /> 2 3 //width=device-width; 表示宽度是设备屏幕的宽度 4 //initial-scale=1.0; 表示初始的缩放比例 5 //minimum-scale=0.5; 表示最小的缩放比例 6 //maximum-scale=2.0; 表示最大的缩放比例 7 //user-scalable=yes; 表示用户是否可以调整缩放比例