Comment sélectionner certains éléments dans le UICollectionView après le premier chargement?
J'ai essayé d'écrire
[self collectionView:myCollectionView didSelectItemAtIndexPath:selectedIndexPath]
et UICollectionViewCell selected=YES dans le viewDidLoad, et il n'a mis en œuvre la méthode didSelectItemAtIndexPath
mais la cellule n'est pas sélectionnée.
J'ai écrit l'état sélectionné dans UICollectionViewCell sous-classe de (void)setSelected:(BOOL)selected
. Après le point de vue a la charge, le manuel de la fonction de sélection des œuvres. Mais je ne pouvais pas laisser l'auto a sélectionné certains éléments après le point de vue de la première charge.
Et j'ai essayé d'écrire des codes:
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
et
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
tout n'est pas OK.
Je l'ai trouvé d'abord exécuter viewDidLoad
et didSelectItemAtIndexPath
puis cellForItemAtIndexPath
il semble que je pourrais pas obtenir de la cellule dans la indexPath
(que sais-je) avant cellForItemAtIndexPath
parce que, avant que la cellule n'est pas exister. Alors, comment sélectionner des éléments dans le UICollectionView
après la première charge?
Désolé pour mon mauvais anglais. Merci à l'avance.
source d'informationauteur zgjie
Vous devez vous connecter pour publier un commentaire.
Pas sûr, si vous avez votre question correcte, mais voici une solution possible:
Dans, par exemple,
viewWillAppear:
neGarder à l'esprit, que l'appel à 'selectItemAtIndexPath' par programme ne l'appelle PAS liées délégué méthodes; vous aurez besoin de les appeler dans le code si vous en avez besoin.
Dans mon cas
selectItemAtIndexPath
a eu aucun effet aprèsreloadData
j'ai donc dû faire appel pour l'exécution du bloc deperformBatchUpdates
:Swift 3
Mettre en œuvre cette fonction override où est votre collectionview est créé.
En supposant que nous avons 1 section 1 rangée comme Instagram histoires.