感谢你的帮助。


如上所示,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大。
发布于 2017-05-26 18:54:02
使用此方法:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: yourWidth, height: yourCollectionView.bounds.height)
}https://stackoverflow.com/questions/44171139
复制相似问题