在我的应用程序中的UIWebView中打开时WebPage字体更改

时间:2016-05-13 10:52:03

标签: ios swift uiwebview

我的应用程序使用自定义字体(" Roboto"),我在应用程序内的UIWebView中打开一个HTML页面(此网页也在CSS中使用Roboto字体),其中网页的字体是粗体。

任何人都可以帮忙吗?可能是什么问题。

2 个答案:

答案 0 :(得分:0)

您有以下解决方案可能是任何人帮助您。

1)添加.css和meta标签如下。

html {
    -webkit-text-size-adjust: none; /* Never autoresize text */
}

和meta标签如下

<meta name='viewport' content='width=device-width; initial-scale=1.0; maximum-scale=1.0;'>

2)您也可以使用以下javascript代码将两者注入现有网站。

var style = document.createElement(\"style\"); 
document.head.appendChild(style); 
style.innerHTML = "html{-webkit-text-size-adjust: none;}";
var viewPortTag=document.createElement('meta');
viewPortTag.id="viewport";
viewPortTag.name = "viewport";
viewPortTag.content = "width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;";
document.getElementsByTagName('head')[0].appendChild(viewPortTag);

并使用UIWebViewDelegate(webViewDidFinishLoad)方法

- (void)webViewDidFinishLoad:(UIWebView *)webView{

    NSString *javascript = @"var style = document.createElement(\"style\"); document.head.appendChild(style); style.innerHTML = \"html{-webkit-text-size-adjust: none;}\";var viewPortTag=document.createElement('meta');viewPortTag.id=\"viewport\";viewPortTag.name = \"viewport\";viewPortTag.content = \"width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;\";document.getElementsByTagName('head')[0].appendChild(viewPortTag);";
    [webView stringByEvaluatingJavaScriptFromString:javascript];

}

答案 1 :(得分:0)

您可以在加载webView时实现webView委托并更改字体。

func webViewDidStartLoad(webView : UIWebView) {
    //your code    
}