子类化 UICollectionViewFlowLayout
Posted
技术标签:
【中文标题】子类化 UICollectionViewFlowLayout【英文标题】:subclassing UICollectionViewFlowLayout 【发布时间】:2013-08-20 17:38:48 【问题描述】:我正在创建自己的流程布局,但在获取正确的collectionViewContentSize
时遇到问题,我的数据是一个数组数组,每个数组有 5 个数组有多个项目。
这是正确的numberOfItemsInSection:0
吗?还是我需要检查所有数组以找到具有更多项目的数组,然后使用该部分上的项目计算 xSize?
-(CGSize)collectionViewContentSize
NSInteger xSize = [self.collectionView numberOfItemsInSection:0] * (itemWidth + space); // "space" is for spacing between cells.
NSInteger ySize = [self.collectionView numberOfSections] * (itemHeight + space);
NSLog(@"size %f, %f", xSize, ySize);
return CGSizeMake(xSize, ySize);
谢谢。
【问题讨论】:
【参考方案1】:任何想学习如何做到这一点的人,我从Bryan Hensen 找到了这个很棒的教程
【讨论】:
【参考方案2】:你已经设置了两个轴。通常,您只需要设置一个轴(滚动轴),因为会为您设置非滚动方向的屏幕边缘(或 collectionView 的边缘)。除此之外,是的,您必须遍历每个数组才能获得总高度。
【讨论】:
谢谢,对于 - (UICollectionViewLayoutAttributes )layoutAttributesForItemAtIndexPath:(NSIndexPath *)path 和 -(NSArray)layoutAttributesForElementsInRect:(CGRect)rect,我是否也必须这样做。遍历每个部分... 这些通常用于修改特定部分(单个单元格或矩形内的所有单元格)而不是整个 collectionView。 Apple 文档涵盖了非常好。请参阅“理解核心布局过程”developer.apple.com/library/ios/documentation/WindowsViews/…以上是关于子类化 UICollectionViewFlowLayout的主要内容,如果未能解决你的问题,请参考以下文章