2011-05-15 3 views
1

J'ai un arbre avec des vues où la vue de plus haut niveau est transparente et contient une image ou une étiquette (avec un fond transparent). Lorsque j'attache un UITapGestureRecognizer à cette vue, je reçois uniquement des notifications sur les vues qui contiennent des images.UITapGestureRecognizer sur la vue transparente


De plus, si je laisse la vue vide, alors je n'obtiens des événements que lorsque la couleur d'arrière-plan est différente de [UIColor clearColor].

J'ai effectué une sauvegarde et l'arborescence de vue entière a la valeur userInteractionEnable = YES.

Comment faire en sorte que UITapGesturerRecognizer fonctionne sur la vue avec un arrière-plan transparent?

Résolu
Problème n'était pas ce que je pensais. Les vues transparentes étaient dans une vue défilante et lors de l'initialisation elles étaient en dehors de la zone visible de la vue. Ceux dans la zone visible fonctionnent bien.

+0

Pouvez-vous fournir plus de détails ou de code, j'ai essayé d'attacher un reconnaisseur de geste de robinet à une vue avec la couleur d'arrière-plan définie à clearColor et il a répondu aux robinets. Donc, un peu plus d'information pourrait aider. –

+0

@DeepakDanduprolu Dites ... Ayant le même scénario que posté, un UISwipeGestureRecognizer et il ne répondra nulle part sur la vue (avec clearColor) SAUF où il y a d'autres (soeurs-) vues (pas clearColor) derrière lui! Oui, c'est iOS-aléatoire à son meilleur. – helmesjo

Répondre

0

Essayez de définir la couleur d'arrière-plan sur tout sauf le paramètre clearColor et de définir la propriété alpha sur 0.0;

myView.backgroundColor = [UIColor blackColor]; 
myView.alpha = 0.0; 
+4

Cela définira les sous-vues à transparent (caché) aussi ... –

0

vagues suppositions, mais si vous incluez une image de 1x1 pixel dans la vue, serait ce point de vue se qualifier alors des gestes? Une autre supposition tout aussi sauvage serait d'ajouter une image transparente à la vue et essayer cela.

0

Essayez d'obtenir une couleur d'arrière-plan presque transparente, comme [UIColor colorWithWhite:0 alpha:0.01].

Questions connexes