2016-12-01 149 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() 
} 

我希望这可以帮助你,最好的问候