Я работаю над приложением, которое ведет себя как фотогалерея, и я реализую возможность, чтобы пользователь удалял фотографии из своей галереи. Для этого я решил разместить невидимую кнопку над каждой картинкой. Когда пользователь нажимает кнопку «Изменить», кнопки скрытого удаления по каждому изображению становятся активными. Я использую один и тот же IBOutlet по каждой из скрытых кнопок для простоты, и я соответствующим образом пометил каждую кнопку в Interface Builder. Когда пользователь нажимает кнопку над изображением, появляется предупреждение, спрашивающее, действительно ли они хотят его удалить. Если они нажмут да, я вызываю removeObjectAtIndex. Вот код, я использую:Удаление изображения из пользовательского интерфейса
- (IBAction)deleteButtonPressed:(id)sender {
NSLog(@"Sender is %@", sender);
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];
int imageIndex = ((UIButton *)sender).tag;
deleteAlertView.tag = imageIndex;
}
- (void)alertView: (UIAlertView *) alertView
clickedButtonAtIndex: (NSInteger) buttonIndex
{
if (buttonIndex != [alertView cancelButtonIndex]) {
NSLog(@"User Clicked Yes. Deleting index %d of %d", alertView.tag, [array count]);
[self.array removeObjectAtIndex: alertView.tag];
NSLog(@"After deleting item, array count = %d", [array count]);
alertView.tag.image = nil;
}
[self.user setObject:self.array forKey:@"images"];
}
Вопрос здесь alertView.tag.image
. У меня есть сообщение об ошибке «Member reference base type NSInteger (aka int) не является структурой или объединением. Этот код просто удаляет изображение из массива, но мне все равно нужно удалить изображение из пользовательского интерфейса. что alertView.tag.image
сделал бы трюк. Я понятия не имею, как это сделать, я все еще новичок в Objective-C, и прочитанная мной книга вообще не касается этого. Мне также интересно, как я могу обновить интерфейс ? после удаления изображения
Большое спасибо за ваш ответ, хотя, когда я добавляю в этот код, Xcode утверждает, что «Свойство' image' не найдено на объекте типа 'UIView *'. – John
отсылает его (UIImageView *). Позвольте мне его отредактировать – Vignesh
Awesome, спасибо за вашу помощь! – John