У меня есть приложение, которое ведет себя как фотогалерея. Они выбирают изображение из рулона камеры, и изображение отображается в UIImageView. У меня есть всего 9 изображений. Теперь я пытаюсь добавить возможность нажатия кнопки редактирования и разрешить пользователю удалять фотографии. Я сделал это, поместив скрытый UIButton над каждым изображением, и когда кнопка нажата, появится UIAlertView, спрашивающий, хотят ли они удалить это изображение. После того, как они нажимают «Да» в UIAlertView, я хотел бы, чтобы этот конкретный UIImageView переставал отображать изображение и перемещал каждую отображаемую картинку 1 строку влево, чтобы в галерее не было свободного места.iOS: Перемещение объектов в NSMutableArray
Это то, что для меня становится сложным, я все еще очень новичок в 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];
}
Любая помощь или совет по этому вопросу очень ценится, спасибо!
Представлены ли эти изображения в виде таблицы? –
Нет, я не, я должен был, но я слишком далеко в этом тоже повернулся. Я при необходимости, хотя. – John