因为我需要更改装饰视图的背景颜色,所以我创建了一个UICollectionViewLayoutAttributes
的子类。我唯一缺少的是创建布局属性。这就是我目前在layoutAttributesForDecorationViewOfKind:atIndexPath:
中所做的事情:
public override UICollectionViewLayoutAttributes LayoutAttributesForDecorationView (NSString kind, NSIndexPath indexPath)
{
CustomCollectionViewLayoutAttributes attribute = UICollectionViewLayoutAttributes.CreateForDecorationView (kind, indexPath) as CustomCollectionViewLayoutAttributes;
// ...
}
但它与System.NullReferenceException
崩溃,因为layoutAttributesForDecorationViewOfKind:withIndexPath:
返回null。
我错过了什么吗?
我用
尝试了CustomCollectionViewLayoutAttributes attribute = CustomCollectionViewLayoutAttributes.CreateForCell<CustomCollectionViewLayoutAttributes> (indexPath);
但是我来了
UICollectionView接收了索引路径不存在的单元格的布局属性
正确的方法应该是
CustomCollectionViewLayoutAttributes attribute = CustomCollectionViewLayoutAttributes.CreateForDecorationView<CustomCollectionViewLayoutAttributes> (indexPath);
但它没有编译。
方法'CreateForDecorationView'没有重载需要'1'参数。
答案 0 :(得分:0)
这似乎是正确的方法:
CustomCollectionViewLayoutAttributes attribute = CustomCollectionViewLayoutAttributes.CreateForDecorationView<CustomCollectionViewLayoutAttributes>(kind, indexPath);
我应该在下次提问之前使用智能感知功能......