Передача изображения через контроллеры представления - PullRequest
1 голос
/ 27 июля 2011

В моем приложении для iPhone у меня есть два viewController (firstViewController, secondViewController), на firstViewController пользователь может выбрать фотографию из рулона камеры, а затем отобразить ее в imageView, однако мне нужно также отобразить ее в secondViewController, но понятия не имею.

Не могли бы вы также подробно объяснить ваши ответы, так как я довольно новичок в цели-C

Вот мой код:

firstViewController.h

#import <UIKit/UIkit.h>

@interface firstViewController : UIViewController
<UIImagePickerControllerDelegate, UINavigationControllerDelegate>
{
    UIImageView *theImageView;
}

@property (nonatomic, retain) IBOutlet UIImageView *theImageView;
-(IBAction)selectExistingPicture;

@end

firstViewController.m

#import "firstViewController.h"
#import "secondViewController.h"

@implementation firstViewController

@synthesize theImageView

-(IBAction) selectExistingPicture
{
    if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary])
    {
        UIImagePickerController *picker = [[UIImagePickerController alloc] init];
        picker.delegate = self;
        picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
        [self presentModalViewController:picker animated:YES];
        [picker release];
    }
}

-(void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage : (UIImage *)image editingInfo:(NSDictionary *)editingInfo
{
    theImageView.image = image;
    [picker dismissModalViewControllerAnimated:YES];
}
-(void)imagePickerControllerDidCancel:(UIImagePickerController *)  picker
{
    [picker dismissModalViewControllerAnimated:YES];
}

-(IBAction)switchSecondViewController {

    SecondViewController *viewcontroller = [[SecondViewController alloc]     initWithNibName:@"SecondViewController" bundle:nil];
    [self presentModalViewController:viewcontroller animated:YES];
    [viewcontroller release];
}
// Default Apple code

@end

В secondViewController не так много, поэтому я не стану публиковать этот код.

Ответы [ 2 ]

0 голосов
/ 27 июля 2011

Вам необходимо объявить свойство во втором виде, чтобы вы могли установить изображение из первого вида примерно так:

secondImageView - это свойство в secondView, и вы должны установить его

-(IBAction)switchSecondViewController {

    SecondViewController *viewcontroller = [[SecondViewController alloc]     initWithNibName:@"SecondViewController" bundle:nil];
     viewcontroller.secondImageView.image = firstViewImage;
    [self presentModalViewController:viewcontroller animated:YES];
    [viewcontroller release];
}
0 голосов
/ 27 июля 2011

В вашем втором контроллере вида есть метод типа

-(void)setImage:(UIImage *)image

В методе ниже после создания viewcontroller вызовите метод с изображением, как показано

-(IBAction)switchSecondViewController {
    SecondViewController *viewcontroller = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil];
    [self presentModalViewController:viewcontroller animated:YES];
    [viewcontroller setImage:theImageView.image]
    [viewcontroller release];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...