gpt4 book ai didi

ios - UICollectionView:不同大小的项目不计算重复使用的项目

转载 作者:技术小花猫 更新时间:2023-10-29 10:37:34 25 4
gpt4 key购买 nike

我有一个包含不同项目大小的 Collection View ,我在

- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {

FeedItem *item = [_imagesLinkArray objectAtIndex:indexPath.row];
return CGSizeMake(250, 200*item.sizeFactor);
}

当单元格在 collectionView:cellForItemAtIndexPath: 中被重用时该项目正在使用重新使用的项目大小呈现,而不是 sizeForItemAtIndexPath: 中指定的大小。

有什么想法吗?

最佳答案

似乎 collectionView:layout:sizeForItemAtIndexPath: 在 CollectionView 呈现之前在布局准备中被调用一次。

因此,无论何时滚动并且单元格出队时,它都会在准备阶段调整为 collectionView:layout:sizeForItemAtIndexPath: 提供的大小。您是否希望在具有特定 indexPath 的单元格可见时调用此方法?这样您就可以动态更改单元格大小?似乎这不是该方法的用途,它可以用于在布局准备阶段确定一次单元格的大小。

如果您出于某种原因需要重新计算尺寸,您可以使用 [UICollectionViewLayout invalidateLayout] 使布局无效。

关于ios - UICollectionView:不同大小的项目不计算重复使用的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318317/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com