Pergunta

Estou tentando definir a imagem de uma nova visão. I definir a imagem do controlador de um, em seguida, exibir a vista. Mas, em viewDidLoad do controlador, nenhuma imagem está disponível.

- (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];
Foi útil?

Solução

Isso porque viewDidLoad é chamado por

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

Após a ponta está carregado.

propriedade de imagem do editPictureController (que eu suponho que é um UIImageView - confundindo). Não está definido até após este

Do que você está fazendo em viewDidLoad na viewWillAppear: método em vez - sua propriedade de imagem será definido quando pushViewController: animado: chama viewWillAppear:

.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top