Перво-наперво:Как Обновить UICollectionView Дополнительный вид (HeaderView)
- Я не хочу, чтобы перезагрузить всю CollectionView.
- Я также НЕ хочу перезагружать раздел (так как он такой же, как reloadData, потому что у моего CV есть только 1 раздел).
Я положил некоторые элементы управления в Дополнительной View, поскольку эта точка зрения выступает как вид заголовка. В каком-то случае я хочу скрыть/показать элементы управления по мере необходимости. Для этого мне нужно перезагрузить Дополнительный вид, поскольку данные для него уже обновлены.
То, что я пробовал:
UICollectionViewLayoutInvalidationContext *layoutContext =
[[UICollectionViewLayoutInvalidationContext alloc] init];
[layoutContext invalidateSupplementaryElementsOfKind:UICollectionElementKindSectionHeader
atIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]]];
[[_collectionView collectionViewLayout] invalidateLayoutWithContext:layoutContext];
крэш конечно. Код не выглядит правильным, но я не уверен, как правильно построить UICollectionViewLayoutInvalidationContext и сообщить коллекции, чтобы перезагрузить только дополнительный вид.
Спасибо.
Это только перезаряжает нормальную ячейку. Я хочу перезагрузить дополнительное представление. Извините, я отредактировал мой вопрос, чтобы указать addaryview – GeneCode
В этом случае, возможно, вы можете выполнять итерацию по всем subviews в вашем uicollectionview и setNeedsDisplay только на headerView. Вы можете использовать свойство тега для идентификации headerView – diOS
setNeedsdisplay не перезагружает представление. он просто освежает его. – GeneCode