天天看點

給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(因為子視圖一般