无法从视图控制器访问 UICollectionView 补充视图?
Posted
技术标签:
【中文标题】无法从视图控制器访问 UICollectionView 补充视图?【英文标题】:No way to access UICollectionView supplementary views from view controller? 【发布时间】:2014-03-15 00:03:23 【问题描述】:我有UICollectionView
带有一系列单元格,并且对于每个单元格,都有一些隐藏的注释。注释仅在选择相关项目时显示。所以我在控制器的collectionView:didSelectItemAtIndexPath:
方法中添加了以下代码块:
WESpan *span = self.selectedSpan;
for (UIView *view in self.collectionView.subviews)
if ([view isKindOfClass: [AnchorCell class]])
view.hidden = ((AnchorCell*)view).anchor.span != span;
这行得通...但对我来说似乎很难看,我必须对所有subviews
进行循环,并进行isKindOfClass:
检查。没有更好的方法来做到这一点吗?更惯用的东西?
我希望有一个类似于 cellForItemAtIndexPath:
方法的方法,这样我就可以只获取与适当索引相关的那些并隐藏/取消隐藏它们。
【问题讨论】:
【参考方案1】:collectionView:viewForSupplementaryElementOfKind:atIndexPath:
?
如果您想更新supplementaryView 中的值,您可以随时更新您的模型,然后重新加载collectionView 的部分。
[collectionView reloadSections:[NSIndexSet indexSetWithIndex:indexPath.section]];
【讨论】:
这不是数据源委托实际实现的方法来按需为UICollectionView
制造一个。我不想发送一条只会去队列并配置新消息的消息...我想访问 UICollectionView 拥有的消息,我的代表使用该方法创建了该消息。以上是关于无法从视图控制器访问 UICollectionView 补充视图?的主要内容,如果未能解决你的问题,请参考以下文章