当 WKWebView 嵌入到 UITableViewCell 中时,WebView 的后半部分不会显示

Posted

技术标签:

【中文标题】当 WKWebView 嵌入到 UITableViewCell 中时,WebView 的后半部分不会显示【英文标题】:When WKWebView embed in a UITableViewCell, secondHalf of WebView will not display 【发布时间】:2017-08-22 09:22:18 【问题描述】:

这很奇怪。我将 WKWebView 嵌入到 UITableView 的第一个单元格(IndexPath.row = 0)中。如果 webView 的内容很短,它可以正常工作。但是当我在 webView 中放置更多文本和图像时,webView 的底部不显示。我检查了 UI 层: 而且我发现最上层(WKCompositingView)的高度不对。第二层也是WKCompositingView。

我不知道为什么,如果我将 WebView 放入控制器的视图中,它就可以正常工作。

另外一点是,如果我调用 UITextFiled 给第一响应者(呼出键盘),那么 webView 将正常显示。(但变成了 2 部分,都是 WKCompositingView)。 谁能告诉我为什么?

【问题讨论】:

【参考方案1】:

最后,我通过在scrolldViewdidscroll方法中加入[webViewCell setNeedsLayout]解决了这个问题。

【讨论】:

【参考方案2】:

我认为,第一个单元格没有显示内容。您可以将 webview 添加到视图中。之后,将此视图添加到第一个单元格中。第一个单元格将显示超出内容的 webview。

【讨论】:

以上是关于当 WKWebView 嵌入到 UITableViewCell 中时,WebView 的后半部分不会显示的主要内容,如果未能解决你的问题,请参考以下文章

嵌入在 html 中的 javascript 未在 wkwebview 中运行

iOS:在 WKWebView 中嵌入视频在后台停止音乐

如何在 iOS 中使用 WKWebView 将值动态传递到 iFrame

如何使用嵌入视频从 WKWebView 截取屏幕截图?

WkWebview 被 Angular 冻结了

与 PowerBI Embedded Report (WKWebView) 交互时的 GreyBox