Advertisement
Maaref

Get Height of contentWebView WKWebView

Feb 22nd, 2022 (edited)
1,069
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Swift 1.69 KB | None | 0 0
  1. import WebKit
  2. class HomePageVC: BaseVC, ControllerType {
  3.     @IBOutlet weak var webViewContent: WKWebView!
  4.  
  5.     func initWebView() {
  6.         self.webViewContent.scrollView.isScrollEnabled = false
  7.         self.webViewContent.scrollView.bounces = false
  8.         self.webViewContent.scrollView.bouncesZoom = false
  9.  
  10.         let contentHtml: String = "<html>......" // Change with content  html
  11.         // or change loadUrl not htmlString if needed
  12.         self.webViewContent.loadHTMLString(resContent, baseURL: Bundle.main.bundleURL)
  13.         self.webViewContent.tag = 0
  14.         self.webViewContent.navigationDelegate = self // this needed to get navigation actions
  15.     }
  16. }
  17.  
  18. extension HomePageVC : WKNavigationDelegate {
  19.    
  20.     func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
  21.         let idTag: Int = webView.tag
  22.         switch idTag {
  23.         case 0:
  24.             // When webView loaded get the height of page from a JS command and use the height on constraint
  25.             self.webViewContent.evaluateJavaScript("document.readyState", completionHandler: { (complete, error) in
  26.             if complete != nil {
  27.                 self.webViewContent.evaluateJavaScript("document.body.scrollHeight", completionHandler: { (height, error) in
  28.                     if let h = height as? CGFloat {
  29.                         self.heightConstrantWebViewcontainer.constant = h
  30.                     }
  31.                    
  32.                 })
  33.             }
  34.  
  35.             })
  36.            
  37.             break
  38.         case 1:
  39.             let sz = self.newsMediaContainerView.frame.size
  40.             webView.frame.size = sz
  41.             break
  42.         default:
  43.             print("UnHandled webView[\(idTag)]")
  44.         }
  45.     }
  46.     ...
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement