ios - 在我的应用程序中的 UIWebView 中打开时网页字体发生变化

标签 ios swift uiwebview

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

有人可以帮忙吗?可能是什么问题。

最佳答案

您有以下解决方案可能对您有帮助。

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

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

和元标记如下

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

2) 您还可以使用以下 JavaScript 代码将两者注入(inject)现有网站。

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];

}

关于ios - 在我的应用程序中的 UIWebView 中打开时网页字体发生变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37208148/

相关文章:

ios - Xamarin iOS 通用链接支持 Twitter Auth

ios - UIWebView 将垂直滚动事件委托(delegate)给父级,如果滚动到顶部或底部

ios - 自动布局约束以改变方向的组成

ios - 无法在自定义框架中添加 cocoapod 依赖项 - Swift

ios - 找不到“JWPlayer-iOS-SDK/JWPlayerController.h”文件

ios - 在 Objective c 的自定义 UITable View 中从服务中获取数据

swift - SQLITE 和 Swift 3 挑战

javascript - 从当前 UIWebview 读取 html

swift - Swift 中的运行时初始化

swift - Firebase:如何将数据放入已使用 childbyAutoID 创建的子对象中