CollectionView ItemHeight比Collectionview Height大

时间:2017-05-25 02:02:01

标签: ios swift

感谢您的帮助。

enter image description here

enter image description here

如上所示,CollectionView ItemSize.height比CollectionView.height大。 我只是在viewDidLayoutSubviews()

中设置itemSize
override func viewDidLayoutSubviews() {
    resizeCollectionView(size: collectionView.frame.size)
}

private func resizeCollectionView(size: CGSize){
    print("collectionViewSize:\(size)")
    print("viewSize:\(view.frame.size)")
    if let layout = collectionView?.collectionViewLayout as? UICollectionViewFlowLayout {
        layout.minimumLineSpacing = 0
        layout.minimumInteritemSpacing = 0
        layout.itemSize = CGSize(width: size.width, height: collectionView.frame.size.height)
        layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)
        collectionView?.layoutIfNeeded()
        print("itemSize:\(layout.itemSize)")
    }
}

打印显示CollectionViewSize与ItemSize相同,但实际上,itemSize总是比CollectioinViewSize大。

1 个答案:

答案 0 :(得分:0)

使用此方法:

func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
    return CGSize(width: yourWidth, height: yourCollectionView.bounds.height)
}