最近使用UICollectionView自定义布局的时候报了个提示,看着特别烦
提示:
2016-07-08 16:26:38.346 YiTong[27847:733016] Logging only once for UICollectionViewFlowLayout cache mismatched frame
2016-07-08 16:26:38.347 YiTong[27847:733016] UICollectionViewFlowLayout has cached frame mismatch for index path <NSIndexPath: 0xc000000003c00016> {length = 2, path = 0 - 30} - cached value: {{5, 1330}, {202, 24}}; expected value: {{26.5, 1330}, {202, 24}}
2016-07-08 16:26:38.347 YiTong[27847:733016] This is likely occurring because the flow layout subclass YTCategoryCollectionViewFlowLayout is modifying attributes returned by UICollectionViewFlowLayout without copying them
之前的代码:
- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {
NSArray *attributes = [super layoutAttributesForElementsInRect:rect];
}
看提示最后一句...without copying them
修改后的代码:
- (NSArray<UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect {
NSArray *attributes = [[NSArray alloc] initWithArray:[super layoutAttributesForElementsInRect:rect] copyItems:YES];
}
修改后就不报提示了
网友评论