UITableView和UICollectionView的Cell高度的几种设置方式

UITableViewCell

1、UITableView的Cell高度默认由rowHeight属性指定一个低优先级的隐式约束
2、XIB中可向UITableViewCell的contentView添加Size约束指定默认大小
3、每个Cell的具体Size可通过实现UITableViewDelegate.tableView(..heightForRowAtIndexPath)方法进行指定
4、对UITableView指定一个estimatedRowHeight属性值,并指定其 rowHeight = UITableViewAutomaticDimension,即可启动Cell的self-sizing自适应调整特性

UICollectionViewCell

1、UICollectionView的Cell尺寸默认由UICollectionView的Cell Size属性指定一个低优先级的隐式约束
2、XIB中UICollectionViewCell由于contentView不显示,无法添加约束控制
3、每个Cell的具体Size可通过实现UICollectionViewDelegateFlowLayout.collectionView(..sizeForItemAtIndexPath)方法进行指定
4、UICollectionView的子视图位置、大小和外观通过委托给一个单独的UICollectionViewLayout布局对象进行控制,通过对UICollectionViewFlowLayout指定estimatedItemSize属性值,即可启动Cell的self-sizing自适应调整特性

UICollectionView本身需要添加高度约束,否则不论是否包含内容对象,默认高度约束都为0

参考:
iOS 8自动调整UITableView和UICollectionView布局
http://www.cocoachina.com/industry/20140825/9450.html

原文地址:https://www.cnblogs.com/wavky/p/5722906.html