代码创建的collectionView,在storyboard中调用,item的大小不正确的问题解决:
设置的是平分屏幕的宽度,结果显示出来的是下图,打印出来的宽度计算的没问题,只是显示出来的宽度不对,正确的显示如下图:

实际显示出来的是下图:

方法一:
extension XZButtonCollectionView: UICollectionViewDelegateFlowLayout {
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
guard let collectionViewLayout = collectionViewLayout as? UICollectionViewFlowLayout else { return CGSize.zero }
collectionViewLayout.estimatedItemSize = CGSize.zero
let width = CGFloat(floor(((collectionView.frame.width - CGFloat(column - 1) * collectionViewLayout.minimumLineSpacing) / CGFloat(column))))
return .init(width: width, height: rowHeight)
}
}
最主要的是这句:collectionViewLayout.estimatedItemSize = CGSize.zero
方法二:把storyBoard中的collectionView和collectionView FlowLayout右侧Estimate Size部分都设置为None



博客主要讲述代码创建的collectionView在storyboard中调用时,item大小显示不正确的问题。设置平分屏幕宽度但显示宽度不对,打印计算宽度无误,给出解决方法,即把storyBoard中collectionView和collectionView FlowLayout右侧Estimate Size部分都设为None。
1080

被折叠的 条评论
为什么被折叠?



