У меня есть приложение, которое ведет себя как фотогалерея.Они выбирают изображение оттуда с камеры, и изображение отображается в UIImageView.У меня в общей сложности 9 просмотров изображений.Теперь я пытаюсь добавить возможность нажать кнопку редактирования и разрешить пользователю удалять фотографии.Я выполнил это, поместив скрытую кнопку UIB над каждым изображением, и при нажатии кнопки появляется UIAlertView с вопросом, хотят ли они удалить это изображение.После того, как они щелкнули «Да» в UIAlertView, я бы хотел, чтобы этот конкретный UIImageView прекратил отображать изображение и переместил каждое отображаемое изображение на 1 строку влево, чтобы в галерее не было пустого пространства.
Это то место, где мне становится сложно, я все еще плохо знаком с Objective-C и понятия не имею, как это сделать.Я знаю, что мне, вероятно, следует вызывать moveRowAtIndexPath
и toIndexPath
, но я не уверен, следует ли мне делать это в viewDidLoad, viewWillAppear, или мне просто создать свой собственный метод для этого?Вот пример того, с чем я работаю, что может иметь или не иметь отношения:
- (void)applicationDidEnterBackground:(UIApplication*)application {
NSLog(@"Image on didenterbackground: %@", imageView);
NSMutableArray* array = [NSMutableArray arrayWithObject:[NSData dataWithData:UIImagePNGRepresentation(imageView.image)]];
[array addObject:[NSData dataWithData:UIImagePNGRepresentation(imageView2.image)]];
[array addObject:[NSData dataWithData:UIImagePNGRepresentation(imageView3.image)]];
[array addObject:[NSData dataWithData:UIImagePNGRepresentation(imageView4.image)]];
[self.user setObject:array forKey:@"images"];
[user synchronize];
}
- (void)viewDidLoad
{
self.user = [NSUserDefaults standardUserDefaults];
NSLog(@"It is %@", self.user);
NSMutableArray* array = [[self.user objectForKey:@"images"]mutableCopy];
imageView.image = [[UIImage alloc] initWithData:[array objectAtIndex:0]];
imageView2.image = [[UIImage alloc] initWithData:[array objectAtIndex:1]];
imageView3.image = [[UIImage alloc] initWithData:[array objectAtIndex:2]];
imageView4.image = [[UIImage alloc] initWithData:[array objectAtIndex:3]];
UIApplication *app = [UIApplication sharedApplication];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidEnterBackground:)
name:UIApplicationDidEnterBackgroundNotification
object:app];
backToGalleryButton.hidden = YES;
tapToDeleteLabel.hidden = YES;
deleteButton1.hidden = YES;
[super viewDidLoad];
}
Любая помощь или совет по этому вопросу высоко ценится, спасибо!