1. 程式人生 > >iOS 獲取webView載入完成後的高度

iOS 獲取webView載入完成後的高度

在開發中我們會經常遇到webView載入網頁的情況(如下圖所示)。如果webView是在UITableView中,我們如何返回webView載入完成後的高度呢?



在UIWebViewDelegate方法裡:

-(void)webViewDidFinishLoad:(UIWebView *)webView{
    //HTML5的高度
    NSString *htmlHeight = [webView stringByEvaluatingJavaScriptFromString:@"document.body.scrollHeight"];
    
    webView.frame = CGRectMake(0, 0, KScreenWidth, [htmlHeight floatValue]);
    [self.myTableView reloadData];
}



返回高度(我這裡是將webView放在tableView的Footer上的情況):

-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{        
        
//        return [[self.myWebView stringByEvaluatingJavaScriptFromString:@"document.body.offsetHeight"] floatValue] + 30;
//        return [[self.myWebView stringByEvaluatingJavaScriptFromString:@"document.body.clientHeight"] floatValue] + 30;   


        return self.myWebView.scrollView.contentSize.height;
}