iOS 让HTML网页内容和图片自适应UIWebView的宽度

方法1:

    // UIWebView
    _webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 15, SCREEN_WIDTH, SCREEN_HEIGHT - NAVBAR_HEIGHT - 15)];
    _webView.backgroundColor = viewAndTableViewBackgroundColor;
    _webView.delegate = self;
    _webView.opaque = NO; // 去除底部黑块
    _webView.scrollView.showsHorizontalScrollIndicator = NO;

    /**
     * _infoModel.content就是后台返回的带有html标签的字符串
     * " $img[p].style.width = '100%%';\n"--->就是设置图片的宽度的
     * 100%代表正好为屏幕的宽度
     */
    NSString *htmlString = [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>", _infoModel.content];

    [_webView loadHTMLString:htmlString baseURL:nil];
    [self.view addSubview:_webView];

方法2:

//UIWebViewDelegate  
- (void)webViewDidFinishLoad:(UIWebView *)webView {  
    /*  
      code 
     */  
    //修改页面的meta的值  
    if (SVPWebViewTypeActivity_Narrow == self.webViewType){  
        NSString *meta = [NSString stringWithFormat:@"document.getElementsByName(\"viewport\")[0].content = \"width=%f, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no\"", webView.frame.size.width];  
        [webView stringByEvaluatingJavaScriptFromString:meta];  
    }  
}  
// 补充:在代理方法里修改UIWebView字体颜色

- (void)webViewDidFinishLoad:(UIWebView *)webView
{    
    [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextFillColor= 'white'"];
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值