16.UITableView和UICollectionView中的cell使用自动布局时高度自适应

1.Table view中的cell使用自动布局高度自适应设置

        tableView.rowHeight = UITableViewAutomaticDimension
        tableView.estimatedRowHeight = 44

当然前题是你的布局没有问题,cell可以根据内容布局计算出自身的高度

2.Collection View中的cell设置也差不多

let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout
//layout?.scrollDirection = .horizontal
//layout?.minimumLineSpacing = 0
layout?.estimatedItemSize = CGSize(width: 58, height: 58)

但是一定要注意:当collection view是横向滚动时,设置的layout?.estimatedItemSize = CGSize(width: 58, height: 58)中的height必须小于等于collectionView本身的高度约束;如果cell是使用xib,最好将这个大小设置为xib中cell的大小,这样在一些IOS版本上产生的问题概率要小很多,否则会看不到cell,如果和layout?.minimumLineSpacing = 0一起设置甚至会产生死锁.

你可能感兴趣的:(16.UITableView和UICollectionView中的cell使用自动布局时高度自适应)