gpt4 book ai didi

objective-c - UICollectionView:如何在委托(delegate)方法中设置特定项目后获取项目大小

转载 作者:太空狗 更新时间:2023-10-30 03:22:58 27 4
gpt4 key购买 nike

我正在摆弄新的 UICollectionView 和 UICollectionViewLayout 类。我已经创建了一个自定义布局,继承了 UICollectionViewFlowLayout。

我的单元格大小是动态变化的,我使用下面的委托(delegate)方法设置项目大小

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

NSLog(@"SETTING SIZE FOR ITEM AT INDEX %d", indexPath.row);
return CGSizeMake(80, 80);
}

现在,在我的自定义 UICollectionViewFlowLayout 类的 prepareLayout 方法下,我需要访问这些大小变量,以便我可以计算如何放置它们并为 layoutAttributesForItemAtIndexPath 缓存它们。

但是,我似乎无法在 UICollectionView 或 UICollectionViewFlowLayout 下找到任何属性来达到我在委托(delegate)方法中设置的自定义项目大小。

最佳答案

自己找的。

像不省略UICollectionViewDelegateFlowLayout一样实现自定义类

@interface SECollectionViewCustomLayout : UICollectionViewFlowLayout 
<UICollectionViewDelegateFlowLayout>

然后你就可以调用

CGSize size = [self collectionView:self.collectionView 
layout:self
sizeForItemAtIndexPath:indexPath];

关于objective-c - UICollectionView:如何在委托(delegate)方法中设置特定项目后获取项目大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12585118/

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