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
