0

私はこれに困惑しています。転送され、クラスのパブリック プロパティにある画像ファイルを使用しています。ログ ファイルは、self.image と newImage がまだ UIImage ファイルを指していることを示しています。ただし、どのように initWithImage をセットアップしても、self.imageView.image の値は (null) になります。

注 : imageView は合成されたプライベート クラス プロパティです。

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.frame = (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=self.image.size};
    UIImage *newImage = self.image;
    self.imageView = [[UIImageView alloc] initWithImage:newImage];

    [self.imageView setFrame: (CGRect){.origin=CGPointMake(0.0f, 0.0f), .size=self.image.size}];
    [self.scrollView addSubview:self.imageView];

self.scrollView.contentSize = self.image.size;


NSLog(@"Image in self.image : %@ Image for imageView %@ and new Image is : %@", self.image, self.imageView.image, newImage);

self.image が最初のビュー コントローラーから取得される場所:

-(void)imagePickerController:
(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType =
[info objectForKey:UIImagePickerControllerMediaType];

if ([mediaType isEqualToString:(NSString *)kUTTypeImage])
{
    self.imageToBePassed = [info objectForKey:UIImagePickerControllerOriginalImage];
    [picker dismissViewControllerAnimated:NO completion:^(){
        AngleMeasureViewController *angleMeasureViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"AngleMeasureViewController"];
        angleMeasureViewController.delegate = (id)self;
        angleMeasureViewController.image = self.imageToBePassed;

        NSLog(@"image passed to Angle Measure View Controller : %@", angleMeasureViewController.image);

        [self.navigationController pushViewController:angleMeasureViewController animated:YES];
    }];


}

次のView Controllerで合成されたと宣言する方法:

ヘッダーファイルで

@property (nonatomic,retain) UIImage *image;

.m で

@implementation AngleMeasureViewController

@synthesize delegate = _delegate;
@synthesize image = _image;
4

0 に答える 0