layoutAttributesForElementsInRect: Logging only once for UICollectionViewFlowLayout cache mismatched

来源:互联网 发布:python在线编译器 编辑:程序博客网 时间:2024/05/21 06:41

转自:http://codecloud.net/14916.html

最近使用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];
}

修改后就不报提示了

1 0
原创粉丝点击