Problemy z systemem iOS: TapGestureRecognizer
Mam więc aplikację, która zachowuje się jak galeria zdjęć i wdrażam możliwość usuwania obrazów przez użytkownika. Oto konfiguracja: Mam 9 UIImageViews, imageView, imageView2 itd. Mam też przycisk „Edytuj” i metodę działania TapGesture. Przeciągnąłem Gesture Recognizer na mój widok w IB i przymocowałem go do każdego z UIImageView. Dołączałem także metodę działania tapGesture do każdego z UIImageViews. W idealnej sytuacji chciałbym, aby metoda była aktywna tylko po naciśnięciu przycisku „Edycja”. Gdy użytkownik dotknie Edytuj, a następnie dotknie obrazu, który chce usunąć, chciałbym, aby pojawił się UIAlertView, pytając, czy są pewni, że chcą go usunąć. Oto kod, którego używam:
<code>- (IBAction)editButtonPressed:(id)sender { editButton.hidden = YES; backToGalleryButton.hidden = NO; tapToDeleteLabel.hidden = NO; } - (IBAction)tapGesture:(UITapGestureRecognizer*)gesture { UIAlertView *deleteAlertView = [[UIAlertView alloc] initWithTitle:@"Delete" message:@"Are you sure you want to delete this photo?" delegate:self cancelButtonTitle:@"No" otherButtonTitles:@"Yes", nil]; [deleteAlertView show]; if (buttonIndex != [alertView cancelButtonIndex]) { UIImageView *view = [self.UIImageView]; if (view) { [self.array removeObject:view]; } CGPoint tapLocation = [gesture locationInView: self.view]; for (UIImageView *imageView in self.view.subviews) { if (CGRectContainsPoint(self.UIImageView.frame, tapLocation)) { ((UIImageView *)[self.view]).image =nil; } } [self.user setObject:self.array forKey:@"images"]; } } </code>
Ten kod jest oczywiście pełen błędów: „Korzystanie z niezadeklarowanego indeksu przycisku identyfikatora” w tej linii:if (buttonIndex != [alertView cancelButtonIndex])
„Nie znaleziono właściwości UIImageView na obiekcie typu PhotoViewController” w tej liniiUIImageView *view = [self.UIImageView];
I „Oczekiwany identyfikator” w tej linii((UIImageView *)[self.view]).image =nil;
Jestem bardzo nowy w programowaniu i jestem zaskoczony, że nawet dotarłem tak daleko. Więc staram się po prostu dowiedzieć się, jak muszę edytować mój kod, aby błędy zniknęły, i że można go użyć, gdy jeden z 9 widoków obrazu zostanie dotknięty, a także, aby ta metoda była uruchamiana tylko wtedy, gdy Przycisk edycji jest wciśnięty jako pierwszy. Używałem wcześniej tagów i działało świetnie, ale zapisuję obrazy za pośrednictwem NSData, więc nie mogę już używać tagów. Każda pomoc jest bardzo ceniona, dzięki!