做一个自适应高度的cell

做一个自适应高度的cell_第1张图片
公司要做的UI图

这种可以去通过cell的自适应做出来,直接使用IOS8之后的自适应功能,不用我们手动去设置cell的高度,也不用我们去计算,有人说,为什么微博的cell的frame要去计算?


做一个自适应高度的cell_第2张图片
微博的图

因为我们公司要的图,所有的东西都是确定的,1.头像,2.名字,3.时间,4.来源,5.点赞,6.点赞,7.内容,(变得只有内容
而微博那,各种隐藏,各种变化,高度是通过各种if判断累加出的,所以不能使用本文的方法,过去我也用过约束的方法去写微博的首页,也是没用好,也感觉真心用约束写这么复杂的界面很累,还是安静的去计算较好。

言归正传,说说我公司的项目写法,注意哈,只有ios8才行,用约束

1.搭建基本的UI

做一个自适应高度的cell_第3张图片
1.xib搭建基本的UI,设置所有空间的约束,特别注意的是content这个lab,他的约束,底部约束距离cell的是25dx(你随便给都行),设置多行~
做一个自适应高度的cell_第4张图片
content这个空间的4个约束(还有左边一个,你自己去设置)

2.设置tableview的属性

- (void)viewDidLoad{
   //这两个属性,缺一不可,ios8以后才行
   //预估的高度,随便一个值
    self.tableView.estimatedRowHeight = 100;
   //Dimension 尺寸的意思,就是自动尺寸,不用重写高度的代理方法了~
    self.tableView.rowHeight = UITableViewAutomaticDimension;
}

//设置一下cell的数据
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    SECommentCell *cell = [SECommentCell commentCellWithTableView:tableView];
    SEComment *cmt = self.comments[indexPath.row];
    cell.status = self.status;
    cell.comment = cmt;
    return cell;
}
做一个自适应高度的cell_第5张图片
大功告成了~就两步

你可能感兴趣的:(做一个自适应高度的cell)