我在故事板中添加了一个UIScrollView的最后有一个UICollectionView。滚动视图的内容高度是通过autolayout固定的),同时我也通过返回集合视图的单元格大小,通过 sizeForItemAtindexPath
但单元格的大小与提供的不同,每个单元格的大小也不同。其他的行为,比如滚动,都能正常工作。当UICollectionView在UIScrollView里面时,如何正确设置单元格大小?
把视图放在滚动视图下面,然后在该视图中添加组件,试试下面的代码来设置大小。
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .horizontal
layout.sectionInset = UIEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
layout.minimumInteritemSpacing = 10
layout.minimumLineSpacing = 10
collectionView.translatesAutoresizingMaskIntoConstraints = false
collectionView.collectionViewLayout = layout
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: (self.view.frame.size.width - 30)/2, height: 123)
}
在Identity检查器中改变UICollectionView的估计单元格大小为None,对我来说是有效的。检查图片