我有一个问题,我有一个动态的集合视图,开始时有3行,但是当更改滑块,更改集合中的行数并调整了设计时,问题是设计错误,我可以尝试使用self.myCarouselView.collectionViewLayout.invalidateLayout()
,但是不工作,有帮助吗?
在大小单元格中,我有以下代码:
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
return CGSize(width: myCollection.bounds.size.width/CGFloat(numberOfYears), height: 120)
}
我的第一张图片:
最后是图像,当我更改行时:
好奇是当我单击圆圈时,设计更改为正确的格式...
最佳答案
Create one class from UICollectionViewFlowLayout, override the flow layout using this code
- (instancetype)init
{
self = [super init];
if (self)
{
self.minimumLineSpacing = 1.0;
self.minimumInteritemSpacing = 1.0;
self.scrollDirection = UICollectionViewScrollDirectionVertical;
}
return self;
}
- (CGSize)itemSize
{
NSInteger numberOfColumns = 3;
CGFloat itemWidth = (CGRectGetWidth(self.collectionView.frame) - (numberOfColumns - 1)) / numberOfColumns;
return CGSizeMake(itemWidth, itemWidth);
}