项目中有一个需求,在cell中显示多个tag,并且自动居左的需求,居左我使用了一个第三方库AlignedCollectionViewFlowLayout,可以在Github搜索
对于多个tag的我采用了继承UICollectionView,设置isScrollEnabled为false, 在tableView使用自适应高度的时候,需要在继承的CollectionView中实现intrinsicContentSize方法,否则始终只有一行的高度,
注意reloadData前或后,最好layoutIfNeeded刷新一下
代码如下
override func reloadData() {
self.layoutIfNeeded()
super.reloadData()
}
override var contentSize:CGSize {
didSet {
invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
return CGSize(width: UIView.noIntrinsicMetric, height: collectionViewLayout.collectionViewContentSize.height)
}
网友评论