75

问题

使用WKWebView代替UIWebView,我注意到WKWebView与我的UIWebView. 我希望WKWebView停止这样做,并按照字面意思尊重我的 CSS 值UIWebView

语境

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

所有这些在使用UIWebView.

但是popovers通常非常紧凑。

我正在经历什么

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

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

使用 WKWebView,在模拟器中,如果我将正文文本大小增加到 50 像素而不是 14 像素,我会看到我想要的大小。然而,这段代码在设备上甚至都没有帮助,所以扩大我的 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;
}
4

1 回答 1

177

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

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

进入我的标题块,这为我解决了。看起来更像WKWebViewMobile Safari 而不是 a UIWebView,所以如果你想控制缩放或一般大小,你需要设置视口。

于 2014-11-03T17:55:45.507 回答