[ScrollView] setUserInteractionEnabled n'actionne pas l'UITapGestureRecognizer
Hello,
J'ai un scrollView horizontal dans lequel j'ajoute (dans le code) des UIImage. Puis, je créé un UITapGestureRecognizer que j'ajoute à la vue image (imageView):
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured];
[imageView addGestureRecognizer:singleTap];
[imageView setMultipleTouchEnabled:YES];
A ce niveau les imageView apparaissent et scroll. Mais en cliquant sur une vue, la methode singleTapGestureCaptured n'est pas appelée.
Fesant ceci:
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured];
[imageView addGestureRecognizer:singleTap];
[imageView setMultipleTouchEnabled:YES];
[imageView setUserInteractionEnabled:YES];
La scrollView ne scrolle plus mais la methode singleTapGestureCaptured est appelée quand je clique sur une imageView.
Comment pourrai-je m'y prendre pour avoir un scroll et UITapGestureRecognizer dans le scrollView horizontal ?
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
La méthode d'Ali est sûrement la meilleure, mais pour info tu peux également autoriser la détection de plusieurs gestures en même temps grâce à la méthode :
du delegate de ta gesture.
(Ca me parait plus cohérent de demander à ce que le tap requiert que le pan/scroll fail, pour ne détecter un tap QUE si ce n'était pas un tap pour scroller la ScrollView mais bien pour faire un simple tap sur l'image)