2016-12-01 75 views
0

請求網站的高度,我要求一個網站,這個代碼獲取與UIWebView的

let requestObj = NSURLRequest(URL: url) 
      myWebView.loadRequest(requestObj) 

      print (myWebView.scrollView.contentSize.height) //1 
      print (myWebView.frame.size.height) //2 

代碼總是返回1000.0當網站的實際尺寸比多。有沒有辦法獲得真正的大小?我想在WebView中顯示WebView的孔內容而不需要滾動。

+0

您的網站是否使用'Bootstrap'開發? – Poles

回答

0

您需要使用webViewDidFinishLoad委託方法,這個答案本來這裏How to determine the content size of a UIWebView?

成立於您的viewDidLoad方法做這樣的事情

override func viewDidLoad() { 
    super.viewDidLoad() 
    self.webView.loadHTMLString(component.html, baseURL: nil) 
    self.webView.scrollView.isScrollEnabled = false 
    self.webView.scrollView.bounces = false 
    self.webView.delegate = self 
    self.delegate = delegate 
} 

public func webViewDidFinishLoad(_ webView: UIWebView) 
    { 
    var frame = webView.frame 
    frame.size.height = 1 
    webView.frame = frame 

    let fittingSize = webView.sizeThatFits(CGSize(width: 0, height: 0)) 
    frame.size = fittingSize 
    webView.frame = frame 
    webView.scrollView.contentInset = UIEdgeInsetsMake(0, 0, 0, 0); 

    self.delegate?.heightHasChanged(indexPath:self.indexPath, newHeight: frame.height) 
    self.loadingView.isHidden = true 
    self.loadingActivityIndicator.stopAnimating() 
} 

我希望這可以幫助你,最好的問候