UIImagePickerControllerは、iPhone SDKのためのviewDidLoadにロードしません
-
18-09-2019 - |
質問
私はすぐに私のビューコントローラ負荷の一つとしてUIImagePickerControllerを表示しようとしています。私は次のようにユーザーが私はviewDidLoadメソッドをオーバーライドして、ボタンを押すことなく、これにたいと思います:
- (void)viewDidLoad {
[super viewDidLoad];
UIImagePickerController *imagePickerController = [[UIImagePickerController alloc] init];
imagePickerController.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
imagePickerController.allowsImageEditing = YES;
imagePickerController.delegate = self;
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
}
これは、コンパイルと実行され、ビューコントローラがロードされたときしかし、画像ピッカーが表示されません。私は、例えば、ボタンのイベントにアタッチする場合は、このコードは正常に動作します。任意のアイデア?
感謝します。
解決
私は同じ問題を抱えていたが、それを解決しました。使用してみてください。
-(void) awakeFromNib {
}
それはちょうど、他のすべての負荷の後にロードされます。
他のヒント
タグ内のコードを入れてみてください
-(void)viewDidAppear
も、あなたはそれだけで、それは示して初めて実現するためにBOOL値を追加する必要がある場合がありますので、(あなたがUIImagePickerを却下した後、それが表示された場合も含む)のビューがが画面に表示されるたびに実行されたとき、またはあなたのことそれ(すなわちないモーダルビューを却下した後)します。
のviewDidLoadがpresentModalViewControllerを使用するのは時期尚早であると思わ:アニメーション:.私は次回の実行ループの反復からメソッドを呼び出すために、ワンショットタイマーをオフにフォークするsuggetと思います:
[NSTimer
scheduledTimerWithTimeInterval:0
target:self
selector:@selector(onLoadTimer:)
userInfo:nil
repeats:NO];
次のメソッドを追加します:
- (void)onLoadTimer:(id)unused
{
[self presentModalViewController:imagePickerController animated:YES];
[imagePickerController release];
}
所属していません StackOverflow