Ho una vista di raccolta con additionalViewView per ogni sezione. In ogni supplementoView ho alcuni pulsanti. In dataSource metodo collectionView: viewForSupplementaryElementOfKind: atIndexPath: Sto impostando i tag buttons con indexPath.section. Ho fatto alcuni metodi delegate quando si preme un pulsante e si invia la sezione (button.tag) come parametro.UICollectionView: esiste un modo per ricaricare solo le viste supplementari?
Tutto funziona bene, ma qui viene il problema:
- quando inserisco o eliminare una sezione deve aggiornare i pulsanti tag, ma non voglio ricaricare tutti gli elementi di ogni sezione.
ho provato:
- per ottenere i supplementaryViews con il metodo dataSource CollectionView: viewForSupplementaryElementOfKind: atIndexPath: e chiamare layoutIfNeeded metodo per ogni supplementaryView, in questo modo il Le immagini supplementari si stanno ricaricando, ma questo approccio moltiplica le mie viste supplementari.
- un facile per in collectionView.subviews e ottenere solo l'supplementaryView e chiama layoutIfNeeded metodo, ma non ricarica, solo il layout sta caricando.
- reloadSections: metodo, ma questo reload tutti gli elementi dalla sezione
Ohh .. e io uso NSFetchedResultsController (delegato) per l'inserimento e l'eliminazione di sezioni.
Qualcuno può aiutarmi con questo? C'è un modo per ricaricare solo il supplemento View? C'è un altro approccio per questo scenario?
Grazie!
ho risolto.Uso personalizzato * UICollectionViewLayoutAttributes * per il mio * additionalaryView * e uno degli attributi personalizzati è un * NSInteger * che mantiene la sezione e nel metodo delegato NSFetchedResultsController * controllerDidChangeContent: * dopo l'inserimento o l'eliminazione delle sezioni, invalido il layout della vista dell'insieme. Non sono sicuro se sia una buona pratica, ma funziona e ora è importante in questo momento :) – Irina