Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

WebViewHeight

Height of UIWebView can be determined by JS.

extension UIWebView {

    var documentHeight: CGFloat {

    if let string = self.stringByEvaluatingJavaScript(from: "document.documentElement.offsetHeight"), let height = Float(string) {

        return CGFloat(height)
    }
    return 0
    }
}

override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {

    let URL = Bundle.main.url(forResource: "doc", withExtension: "html")

    let webView = UIWebView(frame: CGRect(x: 0, y: 0, width: tableView.frame.width, height: self.webViewHeight))
    webView.delegate = self
    webView.backgroundColor = UIColor.white
    try! webView.loadFile(from: url!)

    return webView
}

override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {

return self.webViewHeight
}

extension TableViewController: UIWebViewDelegate {

    func webViewDidFinishLoad(_ webView: UIWebView) {

        webView.scrollView.isScrollEnabled = false

        self.webViewHeight = webView.documentHeight

        self.tableView.beginUpdates()
        self.tableView.endUpdates()
    }
}

About

Height of UIWebView can be determined by JS.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages