iOS Assertion failure in -[UICollectionViewData validateLayoutInRect:]
使用UICollectionView时、滚动过程中发现崩溃报上面的错误,
我的使用场景是这样的在tableviewcell上嵌套tableview1然后在tableview1的tableviewcell上嵌套CollectionView。
collectionView滚动过程崩溃 布局与数据不符 原因是布局的缓存 但同样的场景tableview就没有这个问题
解决办法:添加以下更新布局的代码
[self.contentView setNeedsLayout];
[self.contentView layoutIfNeeded];
- (void)refreshImg:(NewTaskPointModel *)iCKTrendModel { NSInteger count = iCKTrendModel.pictures.count; if (count && count<= 9) { CGFloat itemH = 70; NSInteger row = (count-1)/3; NSInteger collecH = (row + 1) * itemH + row*2; self.collectionView.hidden = NO; self.collectionViewHCons.constant = collecH; self.collectionViewWCons.constant = 214; self.collectionTopCons.constant = 10; } else { self.collectionView.hidden = YES; self.collectionViewHCons.constant = 0; self.collectionViewWCons.constant = 0; self.collectionTopCons.constant = 0; } // 滚动过程崩溃 布局与数据不符 原因是布局的缓存 // 刷新数据 [self.collectionView reloadData]; // 更新布局
// 立即执行更新
[self.contentView setNeedsLayout];
[self.contentView layoutIfNeeded];
}