禁止WKWebView缩放内容以使其呈现与UIWebView相同的放大倍数


73

问题

使用WKWebView代替UIWebView,我发现WKWebView与我的相比,的内容大大缩小了UIWebView。我想WKWebView停止这样做,只照实际的方式尊重我的CSS值即可UIWebView

语境

我在本机iOS应用程序中使用Web视图来获取显示信息内容的iPad上的弹出窗口内的内容。能够将其提供给内容和设计人员,并说“只需放入一些HTML内容,引用链接的CSS文件”,真是太好了。

使用时,所有这些都很好用UIWebView

但是弹出窗口通常非常紧凑。

我正在经历

在我狭窄的弹出窗口中,将内容按比例缩小,就像将我的内容缩小到适合整个网页的位置一样。我可以看到WKWebView主要用于在iOS上构建备用浏览器或构建混合应用程序的人们,其中WKWebView本质上是接管屏幕的。

WKWebView中的放大倍数不是可以设置的。当然,用户可以放大,但这不能达到目的。我不是在寻找放大的视口;我正在寻找与UIWebView一样适合和自动换行的全部内容。

使用WKWebView,在模拟器中,如果将正文文本大小增加到50px而不是14px,我将看到所需的大小。但是,此代码甚至在设备上使用时也无济于事,因此也无法选择增大CSS大小!

UIWebView有什么问题?

好吧,什么都没有。在iOS8中,它还没有被弃用,也许b / c仍然有用,正如我所经历的那样。但是我确实注意到,WKWebView很快。而且我已经看到一些猜测,认为有关UIWebView的文字写在墙上。我以为:“为什么不现在在iOS8中采用更现代的API?”

因此,我现在暂时继续使用UIWebView,但如果可以使用它来尊重CSS大小,我想切换到WKWebView。

这是我的原始CSS,UIWebView可以很好地呈现,但是弹出窗口中的哪个WKWebView将以非常小的字体呈现:

body {
    font-family: "HelveticaNeue";
    font-size: 15px;
    line-height: 17px;
    color: #000000;
}

h1 {
    font-family: "HelveticaNeue-Bold";
    font-size: 18px;
    line-height: 20px;
    color: #000000;
}


h2 {
    font-family: "HelveticaNeue-Bold";
    font-size: 16px;
    line-height: 18px;
    color: #000000;
}

Answers:


172

我有同样的问题。我只需要放

<meta name="viewport" content="initial-scale=1.0" />

进入我的标题栏,这为我解决了。看起来WKWebView比Mobile Safari更像Mobile Safari UIWebView,因此如果要控制缩放或常规大小调整,则需要设置视口。


6
您挽救了我的性命,我对它为什么弄乱了我的CSS感到十分沮丧,但您挽救了我。你是我的天使!
萨那

2
谁不喜欢一线解决方案?谢谢!!
Rickster '17

2
有效代码:<META NAME = \ “视口\”内容= \ “初始规模= 1.0 \”/>
СергейБилык

1
究竟!它只是为您的HTML代码加上前缀:stringHTML = "<meta name=\"viewport\" content=\"initial-scale=1.0\" />" + stringHTML
鲁本·马林

2
怎么可能出问题->如果一次字体正常,并且当用户尝试加载相同的html模板但又包含另一个<body>内容时,字体大小是否发生了变化?<meta name ='viewport'content ='初始比例= 1.0,最大比例= 1.0,最小比例= 1.0,用户可缩放比例=否,宽度= 400'>
Massmaker
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.