UI結構如下,整個頁面是一個tableView,UIWebView作為tableView的tableHeaderView。
要實現的效果也很簡單:就是讓UIWebView高度和它的內容同高,實現webview和tableView一起滑動。
思路就是待webview內容加載完成,去獲得它內部scrollView的contentSize的height,然后修改webView的高。
代碼如下:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
webView.frame = CGRectMake(0, 0, SCREEN_WIDTH, webView.scrollView.contentSize.height);
[self.tableView setTableHeaderView:webView];
}
一開始想的是,反正webView的高度一開始也是不準確,索性給它個高度0,就是給的這個高度0,結果出事了..
在webViewDidFinishLoad:代理方法里,獲得到的contentSize的height是0,然后就開始想哪里出了問題,然后各種百度Google 也都試過了,都沒有指出這個問題。最后想著讓webView一開始可見,把高度改為100,然后contentSize的height能夠獲取到了!
結論:經驗很重要!!