我正在尝试使用 UICollectionView 创建一个书架,这与 iBooks 应用程序不同。
它工作得很好,但是每当我将一个新项目插入视图(通过调用insertItemsAtIndexPaths:)时,该项目被正确插入,但是我的货架项目(它们是装饰视图,的子类UICollectionReusableView)越来越暗,显然被一遍又一遍地绘制. 但是,如果调用一切reloadData都UICollectionView正确。
这是我在派生UICollectionViewFlowLayout类中所做的:
- (void)prepareLayout计算装饰视图的框架- (NSArray *)layoutAttributesForElementsInRect: Adding UICollectionViewLayoutAttributes对于与矩形相交的所有货架- (UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)将我的项目属性调整zIndex为 1- (UICollectionViewLayoutAttributes *)layoutAttributesForDecorationViewOfKind:(NSString *) atIndexPath:(NSIndexPath *)将我的货架属性调整zIndex为 0
而已。我错过了什么?