0

これまでのところ、これは私のコードです。フォトギャラリーから写真を選択して、1つのコントローラーの画像ビューに表示できます。ビューコントローラーには、このビューの次のビューコントローラーに送信するセグエを持つボタンがありますコントローラは別のイメージ ビューです。

最初のコントローラのイメージ ビューを 2 番目のビュー コントローラの 2 番目のイメージ ビューに表示する必要があります。これはこれまでのコードです。

これを実装するためにどのような手順を踏むべきかわからないので、手順の助けをいただければ幸いです。さまざまなことを試しましたが、うまくやっていないと思うので、白紙の状態にしていくつか入手することにしましたアドバイス

Viewcontroller.h

#import <UIKit/UIKit.h>


@interface ViewController : UIViewController <UIImagePickerControllerDelegate,  UINavigationControllerDelegate>
@property (weak, nonatomic) IBOutlet UIImageView *imageView;
@property (strong, nonatomic) UIImage *chosenImage;

@property(strong, nonatomic) UIImagePickerController *imagePicker;


@end

Viewcontroller.m

#import "ViewController.h"


@interface ViewController ()

@end


@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    NSString *myGrabbedImage = @"myGrabbedImage.png";
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,          NSUserDomainMask, YES);
    NSString *documentDirectory = [path objectAtIndex:0];
    NSString *fullPath = [documentDirectory stringByAppendingPathComponent:myGrabbedImage];
    NSData *data = [NSData dataWithContentsOfFile:fullPath];
    [[self imageView]setImage:[UIImage imageWithData:data]];
}
- (IBAction)chooseImage:(id)sender
{
    self.imagePicker = [[UIImagePickerController alloc]init];
    self.imagePicker.delegate = self;
    [self.imagePicker setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
    [self presentViewController:self.imagePicker animated:YES completion:nil];
}

-(void) imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
    self.chosenImage = info[UIImagePickerControllerOriginalImage];

    NSData *data = UIImagePNGRepresentation(self.chosenImage);
    NSString *myGrabbedImage = @"myGrabbedImage.png";
    NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentDirectory = [path objectAtIndex:0];

    [self.imageView setImage:self.chosenImage];
    [self dismissViewControllerAnimated:YES completion:nil];
    NSString *fullPathToFile = [documentDirectory stringByAppendingPathComponent:myGrabbedImage];
    [data writeToFile:fullPathToFile atomically:YES];


}


- (void) imagePickerControllerDidCancel:(UIImagePickerController *)picker
{
    [self dismissViewControllerAnimated:YES completion:nil];
}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];

}




@end
4

1 に答える 1

0

UIImage2番目のViewControllerにプロパティを作成し、画像を渡しますprepareForSegue

(2番目のViewControllerをインポートすることを忘れないでください。それViewControllerについて知っています)

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    if ([[segue identifier] isEqualToString:@"yourSegueIdentifier"]) {
        yourSecondViewController *secondVC = [segue destinationViewController];
        secondVC.nextImage = self.chosenImage;
    }

}

次に、2番目のViewControllerでimageViewを設定できます

yourSecondImageView.image = nextImage;
于 2013-08-12T18:05:15.160 に答える