Erkennen von touch auf Untersicht
Ich habe eine Viewcontroller
mit zwei UIViews
, ein Namen - textureView
und eine objectView
.
Wenn ich nur eines haben, das ich erkennen touch diesem:
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
NSArray *allTouches = [touches allObjects];
for (UITouch *touch in allTouches)
{
gestureStartPoint = [touch locationInView:self.view];
if([touch view] == controlUIImageview){
NSLog(@"TOUCH DETECT");
}
}
}
Wie Schreibe ich dieses Teil wenn ich einige Dinge, die ich will, um die Interaktion mit der textureView
und einige in der objectView
?
Muss ich die textureView
undcontrolView
zu setUserInteractionEnabled:TRUE
?
Dank!
- Haben Sie versucht, die Einstellung textureView und controlView zu setUserInteractionEnabled:STIMMT das ? Was passiert, wenn du es ausprobiert?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Anderen Weg, dies zu tun:
CGRect rect1=[self.view convertRect:textureView.controlUIImageview.frame toView:self.view]; if(CGRectContainsPoint(rect1, gestureStartPoint)) ...
Versuchen, fügen Sie einen
tag
für die einzelnen subviews, die Sie hinzufügen möchten....wie:dann:
Ja, Sie müssen das tun, wenn Sie wollen, um zu erkennen, Tippen Sie auf alle anzeigen, die Sie benötigen, um setUserInteractionEnabled:TRUE, oder machen ermöglichen, in IB(wenn Sie hinzufügen, Ansicht von IB).
Können Sie versuchen, die Singleton-Ansatz
Beispielsweise haben Sie die UIImageView als Untersicht in TextureView
Machen, eine e-Klasse.g-Objekt.h und Deklarieren Sie die Untersicht, die Sie wollen, um die Interaktion mit E. g
Sobald dies erledigt. Sie können Tags für jede der Beiden Ansichten
Als diese Methode verwenden, um die Tippen Sie auf die Ansicht, und als Untersichten
Als Sie das Objekt verwenden kann, zu tun, wie Sie möchten.. e g SetImage
Bei mir hat es geklappt 🙂 Hoffe, es hilft jemandem 🙂