我想创建一个自定义UICollectionViewFlowLayout
来更改标题和单元格在集合视图上显示的方式。
我将UICollectionViewFlowLayout
子类化,并覆盖了layoutAttributesForElementsInRect
方法,在该方法中创建了自定义定位的UICollectionViewLayoutAttributes
对象。
事实是我没有使用[super layoutAttributesForElementsInRect:(CGRect)rect]
生成UICollectionViewLayoutAttributes
,因此我的屏幕空白。
如果我使用[super layoutAttributesForElementsInRect:(CGRect)rect]
方法获取UICollectionViewLayoutAttributes
,则会以默认方式显示集合视图。
我正在使用以下代码创建UICollectionViewLayoutAttributes
:
UICollectionViewLayoutAttributes *cell = [UICollectionViewLayoutAttributes
layoutAttributesForCellWithIndexPath:[NSIndexPath indexPathForRow:item inSection:section]];
[cell setAlpha:self.cellOpacity];
[cell setHidden:NO];
[cell setSize:self.itemSize];
[cell setZIndex:self.cellZIndex];
[cell setFrame:CGRectMake ((self.itemSize.width * item) + self.cellPadding,
(section * self.itemSize.height) + self.cellPadding,
self.itemSize.width,
self.itemSize.height)];
[itemsLayoutAttributes addObject:cell];
我是手动创建
UICollectionViewLayoutAttributes
而不使用super方法创建的ojit,这有问题吗?您认为我做错了什么?
先感谢您!
最佳答案
实际上,看来我唯一做错的是我不够谨慎,无法看到不透明度设置为 0 :(。
看来我的布局现在看起来还不错,的确可以覆盖layoutAttributesForElementsInRect
方法来创建并且不仅可以编辑该流布局的UICollectionViewLayoutAttributes
。