天天看点

给UITableViewCell动态调整高度

不至于为了获取高度创建一个不需要的cell。

主要有两个地方需要调整高度,一个是自己创建的UILabel或其它子视图,另一个就是cell的高度。

cell内部的view的frame通过重写cell的layoutSubviews方法就行了,就也是一种标准做法:

-(void)layoutSubviews{

    [super layoutSubviews];

    self.headImageView.origin = CGPointMake(10, 10);

    self.userNameLabel.size = getTextSize(self.userNameLabel.font, self.userNameLabel.text,

                                          self.contentView.width - self.headImageView.right);

    self.userNameLabel.origin = CGPointMake(self.headImageView.right + 10, self.headImageView.y);

}

内部子视图的计算全部基于cell.contentView(因为子视图一般