美文网首页
使用tableView做页面

使用tableView做页面

作者: 小丑余 | 来源:发表于2016-08-30 20:21 被阅读300次

最近做一个类似淘宝详情的页面,主要内容包括:

  • 商品banner图
  • 商品简介
  • 店铺信息
  • 商品详情
  • 评论区

等内容。如果在以前,我会view接view的码下来。
但是这里面有很多不确定高度的UI,比如简介、商品详情、每条评论等。上面的UI高度变化,下面的所有控件的y得相应变化,控件越多越麻烦。。。
所以出技术方案的时候,决定用tableView做,大致方案如下:

section0的headerView放banner图、简介和店铺信息;
section0的cell放商品详情(详情是webView加载的htmlString);
section1的header的title写“评论区”;
section1的cell是一条条的评论。

这样就不存在每个部分高度变化对下面的影响。。。

然后说说遇到的一些坑:

webView高度问题

webView加载完的代理中,计算完webView的高度,然后返回给viewController作为cell的高,然后[self.table addSubView:tableView];

tableView header的一些问题

当tableView的style是UITableViewStyleGrouped的时候,section0的最上面有大约30-40高度的空白,如图(后面发现footer也有类似问题)


QQ83020.png

参照了羊神的博客,解决方法如下:

    _infomationTable.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];
    _infomationTable.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 0, CGFLOAT_MIN)];
tableView reloadRows方法

在使用

- (void)reloadRowsAtIndexPaths:(NSArray<NSIndexPath *> *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation NS_AVAILABLE_IOS(3_0);

这个方法的时候,被reload的cell首先得存在,才能去reload,否则会引起数组越界。。。

相关文章

网友评论

      本文标题:使用tableView做页面

      本文链接:https://www.haomeiwen.com/subject/coofettx.html