2013-10-07 14 views
25

Ich fügte zwei uiimageview s, eins auf andere subview uiview (imageview1,imageview2). In der ersten Ansicht ist der obere uiimageview ausgeblendet (imageview2) und in der zweiten Ansicht ist der untere imageview ausgeblendet (imageview1).tippen Geste nicht erkannt auf uiimageview

Allokierung Tippgeste:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)]; 
UITapGestureRecognizer *singleTap1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)]; 

Set Benutzer-Interaktion sowohl UIImageView YES.

[singleTap setNumberOfTapsRequired:1]; 
[singleTap1 setNumberOfTapsRequired:1]; 

// Hinzufügen Geste bzw.

hinzufügen tap Gestenerkenner und Wähler auf UIImageView.

[imageview1 addGestureRecognizer:singleTap]; 
[imageview2 addGestureRecognizer:singleTap1]; 

Aber meine Tippe werden nicht erkannt.

Kann mir jemand sagen, wo der Fehler ist?

+0

lassen Sie mich wissen, wenn Sie Ihr Problem gelöst. –

+0

Laut meinem Code seine wrking gut in Landschaft, aber nicht im Porträt wackeln – user2706770

Antwort

98

Versuchen Sie die Einstellung setUserInteractionEnabled:YES vor dem Hinzufügen von Gestenerkennung.

[imageview1 setUserInteractionEnabled:YES] 
[imageview2 setUserInteractionEnabled:YES] 

[imageview1 addGestureRecognizer:singleTap]; 
[imageview2 addGestureRecognizer:singleTap1]; 

Update:

Nach dem Kommentar, den Sie gemacht haben, empfehle ich Ihnen, Ihre Ansichten ganz nach oben bringen, bevor die Antippereignis erkennen. Weil parent imageView oben ist und diese Taps abfängt.

[yourparentview bringSubviewToFront:imageview1]; 
[yourparentview bringSubviewToFront:imageview2]; 
+0

ya ich hatte so getan nur – user2706770

+0

ich habe 10 Bildansicht alle funktioniert gut außer uiimageview in denen ein Bild über eine andere Bildansicht platziert – user2706770

+0

Bitte sehen Sie meine aktualisierte Frage –

2
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(oneTap:)]; 
singleTap.numberOfTapsRequired = 1; 
singleTap.numberOfTouchesRequired = 1; 
singleTap.delegate = self; 
[imageview1 addGestureRecogniser:singleTap]; 
[singleTap1 release]; 

imageview1.userInteractionEnabled = YES; //disabled by default 
+0

tippen Geste funktioniert gut, wenn zwei Bildansicht an einem anderen Ort platziert. Problem ist, wenn zwei Bildansichten am gleichen Ort platziert wurden. beim ersten Mal ausgeblendet und dann beim zweiten Mal wieder ausgeblendet – user2706770

+0

Sie möchten also die Sichtbarkeit von imageViews beim Tippen auf einen Benutzer am selben Ort ändern? – n00bProgrammer