0

新しいビューのイメージを設定しようとしています。コントローラーの画像を設定して、ビューを表示します。しかし、コントローラの viewDidLoad では、利用できる画像はありません。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingImage:(UIImage *)image editingInfo:(NSDictionary *)editingInfo {

EditPictureSaveViewController *editPictureController = [EditPictureSaveViewController alloc];

[editPictureController initWithNibName:@"EditPictureSaveView" bundle:[NSBundle mainBundle]];

UIImageView *imageView = [ [ UIImageView alloc ] initWithImage: image ];
[imageView setImage:image];
[editPictureController setPreview:imageView];

[self.navigationController pushViewController:editPictureController animated:YES];
4

1 に答える 1

2

これは、viewDidLoad が呼び出されるためです。

[editPictureController initWithNibName:@"EditPictureSaveView" bundle:[NSBundle mainBundle]];

NIB がロードされた後。

editPictureController の画像プロパティ (これは UIImageView だと思います - 紛らわしいです!) は、この後まで設定されません。

代わりに、viewWillAppear: メソッドの viewDidLoad で行っていることはすべて行います。画像プロパティは、pushViewController:animated: が viewWillAppear: を呼び出したときに設定されます。

于 2009-05-08T14:37:07.690 に答える