如果CollectionView在一个UIScrollView里面,如何设置UICollectionView项目大小?

问题描述 投票:0回答:1

我在故事板中添加了一个UIScrollView的最后有一个UICollectionView。滚动视图的内容高度是通过autolayout固定的),同时我也通过返回集合视图的单元格大小,通过 sizeForItemAtindexPath但单元格的大小与提供的不同,每个单元格的大小也不同。其他的行为,比如滚动,都能正常工作。当UICollectionView在UIScrollView里面时,如何正确设置单元格大小?

ios swift uicollectionview uiscrollview
1个回答
0
投票

把视图放在滚动视图下面,然后在该视图中添加组件,试试下面的代码来设置大小。

 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)
}

0
投票

在Identity检查器中改变UICollectionView的估计单元格大小为None,对我来说是有效的。检查图片

© www.soinside.com 2019 - 2024. All rights reserved.