首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未显示UICollectionViewFlowLayout UICollectionReusableView DecorationView

未显示UICollectionViewFlowLayout UICollectionReusableView DecorationView
EN

Stack Overflow用户
提问于 2012-10-31 07:18:53
回答 1查看 2K关注 0票数 2

我尝试在UIViewController中的每一行后面显示一个decoration view

每个“行”有3个UICollectionViewCells。我想通过装饰视图在三个单元格的后面显示一个背景。

viewDidLoad:中,我注册了装饰视图:

代码语言:javascript
复制
[self.collectionView.collectionViewLayout registerClass:[CollectionRowDecorationView class] forDecorationViewOfKind:@"RowDecorationView"];

我还设置了以下委托方法:

代码语言:javascript
复制
- (UICollectionViewLayoutAttributes *)layoutAttributesForDecorationViewOfKind:(NSString *)decorationViewKind atIndexPath:(NSIndexPath *)indexPath
{
    UICollectionViewLayoutAttributes *layoutAttributes = [UICollectionViewLayoutAttributes layoutAttributesForDecorationViewOfKind:decorationViewKind withIndexPath:indexPath];
    layoutAttributes.frame = CGRectMake(0.0, 0.0, self.collectionView.contentSize.width, self.collectionView.contentSize.height);
    layoutAttributes.zIndex = -1;
    return layoutAttributes;
}

不幸的是,委托方法没有被调用。我不是100%清楚的阅读文档,我需要做什么才能初始化装饰视图?看起来我遗漏了另一个委托方法,需要调用它才能正确设置所有内容。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-13 21:38:18

您需要在- (NSArray *)layoutAttributesForElementsInRect:(CGRect)rect中添加装饰视图,如下所示:

代码语言:javascript
复制
[attributesArray addObject:[self layoutAttributesForDecorationViewOfKind:@"BackgroundView" atIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]]];
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13148998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档