UICollectionView selectItemAtIndexPath ne pas faire appel didSelectItemAtIndexPath
J'ai une vue de collection. Je voudrais par programmation sélectionner une cellule. C'est le code que j'utilise
[_collectionView selectItemAtIndexPath:[NSIndexPath indexPathForItem:currentSelectedVideo inSection:0] animated:YES scrollPosition:UICollectionViewScrollPositionNone];
Pour une raison quelconque, les fonctions:
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
-(void)collectionView:(UICollectionView *)collectionView didDeselectItemAtIndexPath:(NSIndexPath *)indexPath
Ne sont pas appelés et, par conséquent, l'effet visuel que j'utilise pour l'affichage de la cellule sélectionnée ne s'affiche pas sur l'écran.
Est-il un bon comportement?
OriginalL'auteur bashan | 2013-10-14
Vous devez vous connecter pour publier un commentaire.
Oui, c'est un bon comportement. La Documentation pour
[selectItemAtIndexPath:animation:scrollPosition:] dit:
OriginalL'auteur Igor
Vous pouvez le faire.
si utiliser uniquement selectItemAtIndexPath:animation:scrollPosition: la méthode, n'appelez pas la méthode du délégué.
si utiliser uniquement collectionView:didSelectItemAtIndexPath: la méthode, ce n'est pas la stabil
heureux de code 🙂
Merci osmenda, est fonctionne très bien
Cela devrait être voté comme une réponse, bien que n'étant pas parfait (l'appel d'une méthode du délégué manuellement), il fonctionne très bien et m'a aidé à de nombreuses reprises!
J'ai essayé d'appeler ces de viewWillAppear et viewDidAppear, mais pas de chance! Les méthodes ne sont appelés que je suis frapper les points d'arrêt, mais mon effet visuel pour montrer la cellule sélectionnée ne prend pas effet.
OriginalL'auteur osmenda
Osmenda réponse rapide à ma collection personnalisée de vue:
OriginalL'auteur Michael McKenna
Swift 4:
OriginalL'auteur Erumaru