我对 UICollectionViewLayoutAttributes 类进行了子类化并添加了一些自定义属性。
在我的自定义 UICollectionViewLayout 类中,我将覆盖静态
+ (Class)layoutAttributesClass
并返回我的新属性类。
在我的 UICollectionViewLayout 类中,我覆盖了-(NSArray*)layoutAttributesForElementsInRect:(CGRect)rect
并将值设置为自定义属性。
我可以在那里检查属性类,并查看自定义属性是否设置正确。
所以,最后我需要在 UICollectionViewCell 中检索这些属性,所以我重写-(void) applyLayoutAttributes:(UICollectionViewLayoutAttributes *)layoutAttributes
以获取自定义 UICollectionViewLayoutAttributes 类中的值,但它们是 nil。好像我从来没有设置它们一样。
所有其他属性都可以正常工作,包括转换等。很明显,我做错了什么。请指教。
包括我的自定义类的 HeaderFile
@interface UICollectionViewLayoutAttributesWithColor : UICollectionViewLayoutAttributes
@property (strong,nonatomic) UIColor *color;
@end
这是实现。如您所见,没有什么特别的
@implementation UICollectionViewLayoutAttributesWithColor
@synthesize color=_color;
@end