我通常不会寻求帮助,但这次我真的需要帮助
我在UICollectionView
中有一个UIViewController
。我尝试使用默认的UICollectionViewFlowLayout
或子类化它试图解决这个恼人的问题
当我开始快速旋转应用程序时(从纵向到横向再回到肖像)我发现了这个错误:
*** Assertion failure in -[UICollectionViewData validateLayoutInRect:], /SourceCache/UIKit/UIKit-2935.138/UICollectionViewData.m:357
***因未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:' UICollectionView收到索引路径不存在的单元格的布局属性:{length = 2,path = 2 - 4}'
我试过的:
viewWillLayoutSubviews
下,我尝试了[self.collectionView reloadData];
或[self.collectionView.collectionViewLayout invalidateLayout];
setting [UIView setAnimationEnabled: NO]; in willRotateToInterfaceOrientation setting [UIView setAnimationEnabled: YES]; in didRotateToInterfaceOrientation
挖掘类似的问题我找到了3个,但没有一个是我正在寻找的:
在使用XIB中创建的单元格显示UICollectionView
和我之前,下载所有数据。
我想它是关于垃圾邮件invalidateLayout的,因为UICollectionView
还没有完成最后一个"布局过程"当应用再次调用invalidateLayout时...但我不确定。
答案 0 :(得分:1)
自从我发布这个问题以来已经很长时间了,但我不得不回到我使用此代码的项目中,我发现在iOS 8.3版本中问题已经解决了。
详细信息:link
方向和旋转修复
*解决有时在旋转到横向后旋转回纵向的问题
*改善在纵向和横向之间旋转设备时出现的性能和稳定性问题
我在2台设备上进行了测试,并且运行良好