Ваш imageView
в методе делегата imagePickerController:didFinishPickingImage:editingInfo:
не меняется.Вероятно, у вас должна быть переменная экземпляра для текущего представления изображения, скажем что-то вроде currentImageView
, и они реализуют метод делегата, например,
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingImage:(UIImage *)image
editingInfo:(NSDictionary *)editingInfo {
currentImageView.image = image;
[picker dismissModalViewControllerAnimated:YES];
}
Чтобы это работало, вам придется изменить selectExistingPicture
немного.
- (IBAction)selectExistingPicture {
if ([UIImagePickerController isSourceTypeAvailable: UIImagePickerControllerSourceTypePhotoLibrary]) {
currentImageView = imageView1; // Set it to the image view that will get changed
[..]
}
else {
[..]
}
}
Однако вам придется делать это для каждого метода.Я не уверен, каков точный триггер для этого метода, но было бы целесообразно иметь аргумент sender
в методе действия, чтобы избежать повторения.
- (IBAction)selectExistingPicture:(id)sender {
switch(sender.tag) {
/* set `currentImageView` based on the tag */
}
/* Rest of your method from the question remains the same */
}