iOS在UITableViewCell上加载UIWebView

UITableView本身是可以滑动的,UIWebView也是可以滑动的,不可能关闭掉tableView的滑动效果,必然要关闭掉webView的滑动效果,即:

webView.scrollView.scrollEnabled = NO;

这样以来,webView加载的内容高度就至关重要了,只有知道了webView加载的内容高度,就可以动态的修改cell的高度。在webView完成加载的协议方法里,获取内容高度,修改webView的frame,并刷新tableView。

#pragma mark - UIWebViewDelegate
- (void)webViewDidFinishLoad:(UIWebView *)webView {
    //加载完毕,计算webView的高度,刷新tableView
    height = [[webView stringByEvaluatingJavaScriptFromString:
               @"document.body.scrollHeight"] floatValue];
    self.webView.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, height);
    [_tableView reloadData];
}

cell里添加webView

  • 适合用于一次性加载完毕的,不适用于那种可以上拉加载的,譬如https://wap.baidu.com这种可以无限加载的,因为已经关闭掉webView的滑动效果了,无法进行继续加载。
  • 适合加载轻量级的,信息量小的,不适合加载信息量过大的,容易出现卡顿不流畅的现象。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AI阅读 16,033评论 3 119
  • 有供应必然有需求,有需求必然有供应。 在市场中,当供应大于需求时,这时表现为供过于求(商品过多,贬值)。当需求大于...
    Senven诗玛阅读 594评论 0 0
  • 出于好奇,我和我朋友去参加了一台湾游师兄(姓游,一般都叫师兄)的观灵会。 3间佛堂,每间佛堂都有很多披萨。台湾人信...
    山登卓玛阅读 158评论 0 0
  • 抓住春天的小尾巴,偷的半日闲,和小伙伴们来了场徒步18.8公里 第一次参加这类活动,组织的好坏不去评论,个人感受粗...
    十七So阅读 281评论 0 0
  • 一个月的时间,一个月的旅程,一个月的学习,一个月的笑与泪,一个月的辛苦与劳累,一个月的期待与等待,终于换来...
    萧以洛阅读 1,020评论 6 7