カメラから画像をキャプチャするためのアプリケーションを作成しました。これは私のコードです
-(IBAction) showCameraUI {
BOOL hasCamera = [UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera];
UIImagePickerController* picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = hasCamera ? UIImagePickerControllerSourceTypeCamera : UIImagePickerControllerSourceTypePhotoLibrary;
[self presentModalViewController:picker animated:YES];
}
そして、キャプチャされた画像を取得するためにこのデリゲート メソッドを実装しました
- (void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
[picker dismissModalViewControllerAnimated:YES];
UIImage* image = [info objectForKey:UIImagePickerControllerOriginalImage];
UIImage *yourImageView = image;
}
ユーザーがコントローラーをキャンセルした場合にこのメソッドを実装しました
- (void)imagePickerControllerDidCancel:(UIImagePickerController*)picker
{
[picker dismissModalViewControllerAnimated:YES];
}
しかし、それはこの例外を示しています。関数showCameraUIの最後の行を実行した後、なぜそのような例外が表示されるのか、誰にも分かりますか?
UIStatusBarStyleBlackTranslucent は、このデバイスでは利用できません。2013-02-07 10:06:06.976 CaptureImage[460:c07] *キャッチされない例外 'NSInvalidArgumentException' が原因でアプリを終了します。理由: 'iPad では、UIImagePickerController は UIPopoverController 経由で提示する必要があります'