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