0
新しいビューの画像を設定しようとしています。私はコントローラの画像を設定し、次にビューを表示します。しかし、コントローラのviewDidLoadでは、画像は利用できません。 NIBがロードされた後のviewDidLoadが新しいビューのUIImageを設定して表示する
[editPictureController initWithNibName:@"EditPictureSaveView" bundle:[NSBundle mainBundle]];
によって呼び出されるためです
- (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];
ありがとうございました!今度は私のイメージをappDelegateに保存し、viewWillAppearのビューに設定します: UIImageではなくUIImageViewはテスト目的のためのもので、削除するのを忘れてしまいました。 ;-) – Stefan
このアプリケーションでは問題ありませんが、AppDelegateをデータ格納のフォールバックとして使用して、グローバル変数のリポジトリに効率的に変換することには注意してください。これを行うだけでなく、あなたのMVCを弱めるだけでなく、必要な時よりもはるかに長い時間、メモリ内のオブジェクトを周回させることにつながります。 – mmc