解法
在確定了WKWebView的高度之後再嵌入到UITableViewCell,之後就剩畫面顯示不完整的問題,依據之前的研究有兩種方法可以促使WKWebView畫面完整顯示:
UITableView滑動時重更新WKWebView畫面
從UIScrollViewDelegate中找到func scrollViewDidScroll(_scrollView: UIScrollView),在每次畫面滑動的情況都去更新一次WKWebView畫面:
func scrollViewDidScroll(_ scrollView: UIScrollView) {
webView.setNeedsLayout()
}
WKWebView在嵌入到UITableViewCell之前先嵌入到UIScrollView
在UITableViewDelegate的方法中進行嵌入的動作:
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "webIdentifier", for: indexPath)
// 將WKWebView嵌入到UIScrollView中
let scrollView = UIScrollView(frame:webView.bounds)
scrollView.addSubview(webView)
cell.contentView.addSubview(scrollView)
return cell
}