Erkennen Hauch von UIImage Hinzugefügt als Untersicht von UIScrollView
Habe ich UIScrollView
mit vielen UIImageViews
.Ich muss per drag-and-drop Bild von UIScrollView
zu einer anderen Ansicht. Außerhalb der scrollView touch gearbeitet wird. Aber im inneren scroll-view touch ist nicht so geklappt. Ich verwendet touchesBegan
,touchesMoved
etc-Methode. Bitte helfen Sie mir.
-(IBAction)selectBut:(id)sender
{
scrollView = [[UIScrollView alloc]initWithFrame:CGRectMake(x,y,w,h)];
scrollView.userInteractionEnabled = YES;
int y = 0;
for (int i = 0; i < [myArray count]; i++) {
UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(0, y, 75, 30)];
image.userInteractionEnabled = YES;
y=y+35;
[scrollView addSubview:image];
}
[self.view addSubview:scrollView];
[scrollView setContentSize:CGSizeMake(150, 300)]
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
UITouch *touch = [touches anyObject];
if ([touch tapCount] == 1) {
NSLog(@"One touch !!");
}
}
- haben Sie versucht, die Einstellung der UIImageView zu
[self setUserInteractionEnabled:TRUE]
? seine standardmäßig deaktiviert, wenn im nicht Irre. - UserInteractionEnabled wahr ist.aber es funktioniert nicht.
- Innerhalb UIScrollView touchesBegan ist keine Arbeit für Untersichten. Nur überprüfen Sie meine Antwort.
- geben Sie eine Zeile der Beispielcode
- überprüfen Sie es aktualisiert meine Antwort mit Beispiel-code.
Du musst angemeldet sein, um einen Kommentar abzugeben.
müssen Sie zum anpassen der
UIImageView
mit Ihrer eigenen Sicht auf die geerbt vonUIImageView
. Bieten touch-Methoden, angepasste Unterklasse und fügen Sie ihn auf IhrerUIScrollView
..Untersichten von
UIScrollview
wird nie rufen SietouchesBegan
Methode direkt. Sie müssen individuell mit Untersicht zu erhaltentouchesBegan
Eigenschaften, die Hinzugefügt Untersicht/benutzerdefinierte Ansicht.Ich sagen nehmen Unterklasse der Bildansicht wie
CustomImageView
Klasse geerbt werden soll von UIImageView wiein # .m-Datei
Fügen Sie einen Tap gesture recognizer für die scroll-Ansicht zum aktivieren der touch-innen-scroll-view:
dann schreiben Sie Ihren code im angegebenen Methode.
exclusiveTouch
wird das unbeabsichtigte Berührungen, die Art und Weise, wenn der Benutzer nur zum scrollen (vor allem mit Paging aktiviert) Sie nicht versehentlich trigger 50 gagillion (reelle Zahl) taps.Ich weiß nicht, ob dies helfen. Aber versuchen Sie, die
exclusiveTouch
Eigenschaft desUIImageView
zuYES
.Haben Sie Hinzugefügt Ihre scrollview als IBOutlet? Wenn Ihr aus xib und wie Sie sagen, berührt außerhalb der scroll-und nicht innerhalb von, ich denke, Sie könnten versehentlich deaktiviert userInteractionEnabled für die scrollview hemmt die touch-Ereignisse. Und Sie haben Hinzugefügt UIImageViews als Unteransichten zu UIScrollView. Für UIImageView, müssen Sie zuerst festlegen, userInteractionEnabled zu JA und fügen Sie dann alle gesten, wenn notwendig, um Ereignisse oder verwenden Sie den touchesBegan, touchesMoved Methoden. Es sei denn, Sie setzen Interaktion aktiviert werden Sie nicht erhalten touch-events auf UIImageView. Wenn die übergeordnete Ansicht meine ich die UIScrollView die Interaktion deaktiviert ist, werden Sie nicht bekommen, berührt UIImageView zu. Hoffe, das hilft 🙂