我有一个问题,我有一个动态的集合视图,开始时有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)
    }


我的第一张图片:
ios - 重新定义时更改设计集合 View 单元格-LMLPHP

最后是图像,当我更改行时:
ios - 重新定义时更改设计集合 View 单元格-LMLPHP

好奇是当我单击圆圈时,设计更改为正确的格式...

最佳答案

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

08-05 23:28