2

タイトルにあるように、UIImageview で UIImage を表示しようとしていますが、問題は表示されないことです。それを表示する直前に、別のビューからのセグエを通過しました。ブレークポイントを設定すると、その UIImage が割り当てられていることがわかりますが、画像が表示されません。静的な画像に設定しようとしましたが、正常に動作します。

関連するコードは...

FirstViewController.m 内

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info{

    UIImage* img = [info objectForKey:UIImagePickerControllerOriginalImage];

    if (picker.sourceType == UIImagePickerControllerSourceTypePhotoLibrary) {
        NSLog(@"Bild hämtad!");
        [self moveImage];
    }
    else
    {
    UIImageWriteToSavedPhotosAlbum(img, self, @selector(image:didFinishSavingWithError:contextInfo:), Nil);
    }

    [picker dismissModalViewControllerAnimated:YES];
    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
}

- (void)image: (UIImage *)image didFinishSavingWithError: (NSError *) error contextInfo: (void *) contextInfo{

    if (!error) {
        NSLog(@"Bild sparad!");
        [self moveImage];
    }
    else{
        NSLog(@"%@",error);
    }
}
-(void)moveImage
{   
    [self performSegueWithIdentifier:@"ImageEdit" sender:self];
    [MBProgressHUD hideHUDForView:self.view animated:YES];
    NSLog(@"Bild Flyttad!");

}
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:self
{
    if ([[segue identifier] isEqualToString:@"ImageEdit"])
    {
        [segue.destinationViewController setMImage:image];
    }

}

ImageEditController.m 内

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [imageView setImage:_mImage];
    NSLog(@"Bild Visas!");
}

コードがたくさんあることは知っていますが、投稿するよりも投稿する方が良いと考えました。

4

1 に答える 1

0

imageView を初期化したことがありますか?

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    imageView = [[UIImageView alloc] init];
    [imageView setImage:_mImage];
    NSLog(@"Bild Visas!");
}

初期化されていない場合、関数呼び出しは黙って失敗します (nil ポインターで関数を呼び出しても何もしません)。

于 2012-05-21T19:58:15.050 に答える