杏仁丶的iOS学习专题iOS开发者日记iOS Developer

iOS 7后 Cell变高原来如此简单

2017-05-19  本文已影响152人  DeadRabbit

效果

我们先看下实现的效果


comment.gif

应有场景

相信大家都用过UITableView,或多或少都会遇到cell需要变高的场景。UITableView 继承自UIScrollView ,所以需要提前设置cell的height。一般我们会通过下面两种方法

  方法 1. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath: (NSIndexPath *)indexPath{}
  方法 2. self.tableView.rowHeight = 0.f;

iOS 7前 设置变高需要在 方法 1 中计算出每个cell的高度,非常麻烦
iOS 7后 设置变高只需要设置如下两个关键点即可轻松实现

关键代码

1.设置tableView的estimatedRowHeight 属性,估算cell的高度,不需要再tableView的代理中设置高度了,代码如下:

    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.estimatedRowHeight = 70.f;
    self.tableView.allowsSelection = NO;

2.在自定义的cell中,利用AutoLayout布局,将需要变高的Label height设置为大于等于如图:


设置大于等于属性

完整代码可以在这里下载,有问题可以在评论区交流哈~

上一篇 下一篇

猜你喜欢

热点阅读