【发布时间】:2013-01-10 12:11:32
【问题描述】:
我正在尝试仅重新加载 UICollectionView 的数据部分,而不是页眉或页脚(补充视图)。
当我使用reloadData 方法时,页眉和页脚部分也会重新加载,这就是我想要的。
找到了reloadSections:的方法,不知道为什么不行。
因为我的收藏视图只包含一个部分,所以我尝试使用这样的方法:
[collectionViewController.collectionView reloadSections:[NSIndexSet indexSetWithIndex:0]];
但是调用方法时会产生运行时错误。错误内容为:
'NSInvalidArgumentException', reason: '-[UICollectionViewUpdateItem action]:
unrecognized selector sent to instance 0x90aec00'
reloadSections:这个方法是不允许这样用的吗?有没有其他方法可以只重新加载数据部分,而不是页眉或页脚部分?
【问题讨论】:
-
不,这是有效的。查看 Apple 的文档:developer.apple.com/library/ios/#documentation/uikit/reference/…collectionViewController 在哪里?是在主视图吗?您必须改用“self.collectionView”吗?
-
我做了一个根视图控制器,并将名称为collectionViewController的UICollectionViewController对象设置为根视图控制器的属性。
-
我检查了表格视图的 reloadSections:withRowAnimation: 方法工作正常。在使用集合视图的 reloadSections 方法之前是否有实现方法或配置环境?
-
我认为这个问题与this SO article有关,因为当键盘关闭时我找不到同样的问题。但是使用该修复对我不起作用...(但收到不同的错误消息...“***由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:'*** setObjectForKey:对象不能为零(键:<_uicollectionviewitemkey:> 类型 = SV Kind = UICollectionElementKindSectionHeader IndexPath =
2 个索引 [0, 0])'")
标签: ios objective-c ios6 uicollectionview