iOS 修改webView字体

五中方案

    UIFont *font = [UIFont systemFontOfSize:12];
    
    //方法一
    NSString *fontColor =@"CCCCFF";
    NSString *htmlString =[NSString stringWithFormat:@"<html> \n"
                        "<head> \n"
                        "<style type=\"text/css\"> \n"
                        "body {font-family: \"%@\"; color: %@;}\n"
                        "</style> \n"
                        "</head> \n"
                        "<body>%@</body> \n"
                        "</html>", font.familyName,fontColor,self.html];
    //方法二
   NSString* htmlString = [NSString stringWithFormat:@"<span style=\"font-family: %@!important; font-size: %i\">%@</span>",
                  font.fontName,
                  (int) font.pointSize,
                  self.html];
    //方法三
    NSString *htmlString = [NSString stringWithFormat:@"<font face='%@' >%@", font.fontName,self.html];
    
   //以上三种方法都需 提起获取到 html,然后用下面方法加载html
    [self loadHTMLString:htmlString baseURL:DDWebBaseURL];
    
    //方法4 也可以在webview中代理方法中修改  这种方法体验不好 
    
    - (void)webViewDidFinishLoad:(UIWebView *)webView {
        UIFont *font = [UIFont systemFontOfSize:14];        
         NSString *script = [NSString stringWithFormat:@"document.body.style.fontFamily = '%@'",font.familyName];
        [webView stringByEvaluatingJavaScriptFromString:script]; 
    }

    //通过修改DOM,修改特定节点的样式
    NSString *script1 = @"document.getElementsByClassName('component-item component-content')[0].getElementsByTagName('p')[0].style.fontSize='30px'";
    NSString *script = @"document.getElementsByClassName('component-item component-content')[0].getElementsByTagName('p')[0].style.fontFamily='DFWaWaW5'";
    NSString *html341 =[webView stringByEvaluatingJavaScriptFromString:script1];
    NSString *html34 =[webView stringByEvaluatingJavaScriptFromString:script];
    
    //方法5 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByTagName('body')[0].style.webkitTextSizeAdjust = '200%'"];
    
复制代码

在项目中使用webview打开doc、pdf等文件时,我采用的是第5种方式,将页面的字体进行放大

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值