在iOS 10.3中未完全加载WKWebview

时间:2018-03-15 08:53:39

标签: ios swift uiwebview ios10 wkwebview

我遇到的问题是我在WKWebview中加载了一个本地html文件。 我的程序适用于iOS 8,9,11但不适用于10.3。文本中间只有空白区域。

我正在创建我的WKWebview:

let webConfiguration = WKWebViewConfiguration();
let frame = CGRect(x: 0, y: 0, width: cell.frame.width, height: self.webViewHeight);
infoWebView = WKWebView(frame: frame, configuration: webConfiguration);
infoWebView.navigationDelegate = self;
infoWebView.translatesAutoresizingMaskIntoConstraints = false
infoWebView.scrollView.isScrollEnabled = false;
infoWebView.clipsToBounds = false;
infoWebView.allowsBackForwardNavigationGestures = false
infoWebView.contentMode = .scaleToFill
infoWebView.sizeToFit()

我的html文件的加载由以下代码完成:

if let availableUrl = url {
                let urlRequest = URLRequest(url: availableUrl)
                infoWebView.load(urlRequest)
            }

你知道为什么它适用于iOS 8,9,11但不适用于iOS 10.3吗? 有人可以重现这个问题吗?

亲切的问候,祝你有愉快的一天!

1 个答案:

答案 0 :(得分:0)

由于我在表视图中使用了wkwebview,因此必须从UITableViewDelegate覆盖scrollViewDidScroll。

来自WKWebView not rendering correctly in iOS 10的代码为我做了诀窍:

// in the UITableViewDelegate
func scrollViewDidScroll(scrollView: UIScrollView) {
    if let tableView = scrollView as? UITableView {
        for cell in tableView.visibleCells {
            guard let cell = cell as? MyCustomCellClass else { continue }
            cell.webView?.setNeedsLayout()
        }
    }
}