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