我正在努力解决以下问题。我有一个UICollectionView,其布局的页眉和页脚引用大小设置为一个值(比如说40.0)。当我删除/插入单元格并且集合视图位于这样的位置,使得页眉和页脚不在屏幕上时,一切都很好。但是,当他们在屏幕上执行相同操作时,我的代码崩溃并出现以下错误:
2012-12-17 16:05:05.042 BambooV2Demo[37770:907] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** setObjectForKey: object cannot be nil (key: <_UICollectionViewItemKey: 0x1e04cf70> Type = SV Kind = UICollectionElementKindSectionHeader IndexPath = <NSIndexPath 0x1e04fe90> 2 indexes [0, 0])'
另一方面,如果我将页眉和页脚大小设置为0.0,那么一切都很好。当页眉/页脚大小与零不同并且它们在屏幕上可见时,有没有人知道崩溃的原因?
答案 0 :(得分:3)
当我设置标题大小但没有指定标题的视图时,我遇到了这个问题。相反,我使用了section insets并将标头大小设置为零。
答案 1 :(得分:0)
您应该在布局子类中的下面的方法中或通过委托返回YES,这将导致将CollectionView项重新排列到您的布局。
- (BOOL) shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
{
return YES;
}