WKWebview 未在 iOS 10.3 中完全加载

Posted

技术标签:

【中文标题】WKWebview 未在 iOS 10.3 中完全加载【英文标题】:WKWebview not fully loaded in iOS 10.3 【发布时间】:2018-03-15 08:53:38 【问题描述】:

我遇到了在 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】:

由于我的 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()
        
    

【讨论】:

以上是关于WKWebview 未在 iOS 10.3 中完全加载的主要内容,如果未能解决你的问题,请参考以下文章

PushNotification 横幅未在 ios 10.3 中显示

来自html字符串的iOS Swift 4图像未在WKWebView中加载

iOS 10.3 中的 WebView 字体不正确

WKWebView:表单未在 WKWebView (Swift) 中提交

ApplePay `paymentAuthorizationViewController:didAuthorizePayment:handler:` 未在 Xcode Simulator 10.3 中

WKWebView 未在 URL 中打开带有梵文字体的 URL