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 回答