Les choses d'abord: PremièreComment Recharger UICollectionView Voir supplémentaire (HeaderView)
- Je ne veux pas de recharger CollectionView entier.
- Je ne veux pas non plus recharger la section non plus (puisque c'est la même chose que reloadData parce que mon cv n'a qu'une section).
Je mis quelques contrôles dans la vue supplémentaire depuis cette vue agit comme une vue d'en-tête. Dans certains cas, je veux cacher/montrer les contrôles au besoin. Pour ce faire, j'ai besoin de recharger la vue supplémentaire car les données sont déjà mises à jour.
Ce que j'ai essayé:
UICollectionViewLayoutInvalidationContext *layoutContext =
[[UICollectionViewLayoutInvalidationContext alloc] init];
[layoutContext invalidateSupplementaryElementsOfKind:UICollectionElementKindSectionHeader
atIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:0]]];
[[_collectionView collectionViewLayout] invalidateLayoutWithContext:layoutContext];
Cet accident bien sûr. Le code ne semble pas correct non plus, mais je ne suis pas sûr comment construire le UICollectionViewLayoutInvalidationContext correctement et dire à la collection de recharger seulement la vue supplémentaire.
Merci.
Ceci recharge uniquement la cellule normale. Je veux recharger la vue supplémentaire. Désolé, j'ai édité ma question pour indiquer la vue supplémentaire – GeneCode
Dans ce cas, vous pouvez peut-être parcourir toutes les sous-vues de votre uicollectionview et setNeedsDisplay uniquement sur headerView. Vous pouvez utiliser la propriété tag pour identifier l'en-tête. – diOS
setNeedsdisplay ne recharge pas la vue. ça le rafraîchit juste. – GeneCode