html代码加载完成后,在代理方法中通过js代码设置网络图片大小。
示例如下:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
NSString *imageScaleJSText = [NSString stringWithFormat:@"var script = document.createElement('script');script.type = 'text/javascript';script.text = \"function ResizeImages() { var imgs = document.getElementsByTagName('img');for (var i = 0; i < imgs.length; i ++) {var img = imgs[i];img.style.width = %@ ;img.style.height = null;}}\";document.getElementsByTagName('head')[0].appendChild(script);", @(kScreenWidth - 10.0)];
[webView stringByEvaluatingJavaScriptFromString: imageScaleJSText];
[webView stringByEvaluatingJavaScriptFromString:@"ResizeImages();"];
}
JS设置后效果图
如果使用webView的自有API设置属性进行自适应大小时,效果没有那么小,图片显示偏小了。
_webView.scalesPageToFit = YES;
设置自有属性后效果图
网友评论