Définir UIImage d'une nouvelle vue et l'afficher
-
20-08-2019 - |
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];
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