UIWebView设置height为0的坑

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能够获取到了!
结论:经验很重要!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • OS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、速...
    知之未道阅读 1,676评论 0 4
  • UIWebView是iOS内置的浏览器控件,可以浏览网页、打开文档等 能够加载html/htm、pdf、docx、...
    tiGress阅读 416评论 0 3
  • iOS开发系列--网络开发 概览 大部分应用程序都或多或少会牵扯到网络开发,例如说新浪微博、微信等,这些应用本身可...
    lichengjin阅读 3,783评论 2 7
  • http://www.cnblogs.com/mddblog/p/5281748.html 一、整体介绍 UIWe...
    F麦子阅读 1,280评论 0 2
  • IOS之UIWebView的使用 刚接触IOS开发1年多,现在对于 混合式 移动端开发越来越流行,因为开发成本上、...
    学无止境666阅读 45,941评论 5 53