Как отправить изображение на другой viewcontroller

#iphone #objective-c #xcode #uiimage

#iPhone #objective-c #xcode #uiimage

Вопрос:

У меня есть программа, в которой я объединяю два изображения в одно изображение в UIImageView на моем главном ViewController. Я хотел бы установить это объединенное изображение в UIImageView на другом ViewController, чтобы просмотреть его в полном размере. Я могу сделать все это, я просто не могу понять, как отправить это изображение на UIImageView другого viewcontroller.

Как можно установить изображение в UIImageView, которое находится на другом ViewController?

Спасибо

Ответ №1:

Используйте шаблон делегирования, добавьте такой метод, как:

 -(void)viewController: (UIViewController*)vc didReturnImage: (UIImage*)image;
  

Ответ №2:

Сначала вы должны создать объект image на этом контроллере view, где вы должны показать изображение, а затем установить image в этот объект image, например:- В forthViewController сделайте

 UIImage *img;

@property(nonatomic,retain)UIImage *img;
  

Убедитесь, что вы создали свойство и синтезировали img.

В контроллере просмотра, где у вас есть это изображение:-

 ForthViewController *forthView=[[[ForthViewController alloc]initWithNibName:@"ForthViewController" bundle:nil]autorelease];
forthView.img=[UIImage imageNamed:@"Default.png"];
[self.navigationController pushViewController:forthView animated:YES];
  

В вашем view controller, где вы должны показать изображение, выполните:-

 UIImageView *imgView=[[UIImageView alloc]initWithFrame:CGRectMake(50, 50, 100, 100)];
[imgView setImage:self.img];
[self.view addSubview:imgView];
  

Я надеюсь, что этот код сработает для вас в принципе, вы можете получить изображение предыдущего контроллера просмотра, теперь вы можете делать все, что захотите, как (объединить ..)
Удачного кодирования:)

Комментарии:

1. Это процедура, которая сработала у меня. Я, конечно, ценю отклик всех и так быстро. @jlehr: ваш ответ выглядит очень простым, но я не понимаю, как его использовать

Ответ №3:

Кому принадлежит второй view controller? Где-то в вашем коде вы должны иметь возможность ссылаться на этот второй view controller. Затем во втором контроллере просмотра просто создайте метод с именем setImage:(UIImage *)image , который принимает UIImage и назначает его в качестве изображения для просмотра изображения.

Ответ №4:

 SecondViewImage *VC = [[SecondViewImage alloc] initWithNibName:@"ViewImage" bundle:nil] ;

[VC loadView];

VC.theImage.image = chosenImage;
VC.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
  

[self.NavigationController pushViewController: анимированный VC: ДА];

Примечание: Требуется loadView.