【发布时间】:2015-09-03 11:45:01
【问题描述】:
因为我需要更改装饰视图的背景颜色,所以我创建了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”个参数。
【问题讨论】:
标签: ios xamarin xamarin.ios uicollectionview