iOS8以后UITableView,cell高度自适应注意点

注意点一

//在设置 tableView 高度为自适应(UITableViewAutomaticDimension)
//要记得设置估算高度(estimatedRowHeight)才会发挥作用 
_tableView.rowHeight = UITableViewAutomaticDimension;
_tableView.estimatedRowHeight = 100.0f;

注意点二

- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(nullable NSString *)reuseIdentifier;
//直接在cell的初始化方法里用autolayout布局
//布局参照最好都以contentView为基准

例:[self makeConstraints];

- (void)makeConstraints {
    [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.contentView).offset(16.0f);
        make.top.equalTo(self.contentView).offset(16.0f);
    }];
    
    [self.whiteView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.contentView);
        make.left.right.equalTo(self.contentView);
        make.bottom.equalTo(self.nameLabel).offset(10.0f);
    }];
    
    //假设我们是按从上往下的顺序开始布局。
    //当有高度动态变化的控件(如:nameLabel)时,用 whiteView 来框住 nameLabel ,这样我们就可以根据 whiteView 来确定 nameLabel 的位置。
    //如果最底部的控件的高度是固定的,我们直接相对 whiteView 布局即可;
    //如果最底部的控件的高度不是固定的,我们需要添加一个额外的底部控件(如:autoResizingView)来确定布局,这样就可以动态布局高度啦!
    UIView *autoResizingView = [[UIView alloc] init];
    [self.contentView addSubview:autoResizingView];
    [autoResizingView mas_remakeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.whiteView.mas_bottom);
        make.left.right.equalTo(self.contentView);
        make.bottom.equalTo(self.contentView).offset(-10.0f);
    }];
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • iOS8中实现了UITableViewCell 高度自适应方式 简化了自适应高度代码。 1:初始化tableVie...
    Lee_Jo阅读 4,533评论 0 0
  • 四组的战友, 大家好,很感谢大家1个多月来的一起成长…… 在这期间,我们让这四组变得有血有肉,从一开始大家积极讨论...
    诗怡心学阅读 3,184评论 2 4
  • 夜,地铁口不见酷跑单车,于是走路回家。忽然发现,夜晚已经没有了自己以为的凉意,空气暖暖的,让人想舒展。弟弟打来电话...
    正念此心阅读 1,950评论 1 2
  • 行者顺达 吃饺起源在汉代 百姓过节年来乱 交子放炮把年赶 包了饺子好过年
    行者顺达阅读 1,090评论 0 0
  • 总想着要过自己想要的生活,总想要活成自己喜欢的样子,总想着自己纵然不通琴棋书画也是独特的一份,世间与我,总是...
    薄幸名7阅读 1,567评论 0 1

友情链接更多精彩内容