如何在UICollectionView中访问页眉或页脚的特定实例?

aka*_*aru 3 uitableview ios ios6 uicollectionview uicollectionviewcell

我可以调用collectionView:cellForItemAtIndexPath:获取特定单元格以便随时修改该单元格 - 例如,更新其标签.我说的是类实例方法UICollectionView,而不是UICollectionViewDataSource方法.

但是,页眉/页脚似乎没有类似的方法.collectionView:viewForSupplementaryElementOfKind将返回页眉/页脚的唯一实例,而不是给出已分配的实例.因此,我无法获得指向标题的指针以更新(比方说)标签.我被迫重新加载该部分并在collectionView:viewForSupplementaryElementOfKind方法的主体中修改它.

是否有一种正确的方法来获取指向特定页眉/页脚的指针,而无需使用自定义对象缓存或标记?

lxt*_*lxt 5

据我所知,没有(直到iOS 6才有一个等效的呼叫UITableView,footer/headerViewForSection).

如果我不得不猜测为什么这是不可能的,我会说这是因为在某些布局中UICollectionView会自动重新布局和调整补充视图,因此"动态"调整视图内容可能会有问题.但是,假设UICollectionView没有做任何有趣的事情,比如复制视图,你应该能够将你的补充视图保存在一个单独的数组中并以这种方式修改它们 - 也就是说,不能保证这不会引入一些奇怪或奇怪的行为(同样的您建议使用标签并进入集合视图层次结构).

所以简短的答案是否定的 - 没有一种方法可以在API中支持这一点.如果您有一个引人注目的用例,可能值得通过Apple的bug报告者提交功能请求.