Question

J'essaie de définir l'image d'une nouvelle vue. Je règle l'image du contrôleur puis affiche la vue. Mais dans viewDidLoad du contrôleur, aucune image n'est disponible.

- (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];
Était-ce utile?

La solution

C'est parce que viewDidLoad est appelé par

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

après le chargement de la carte NIB.

La propriété d'image de editPictureController (qui, je suppose, est un UIImageView - déroutant!) n'est définie qu'après.

Faites ce que vous faites dans viewDidLoad dans la méthode viewWillAppear: votre propriété d'image sera définie lorsque pushViewController: animated: appelle viewWillAppear:.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top