Buttonアクションを使用してUIImagePickerControllerを表示しようとしています。私のプロジェクトはエラーでクラッシュします:UIImagePickerControllerを表示するとアプリケーションがクラッシュする
私は、ストーリーボードのNavigationControllerに埋め込まれたViewControllerしか持っていません。
UIImagePickerController imagePicker;
public override void ViewDidLoad()
{
base.ViewDidLoad();
this.setupImagePicker();
CapturePhotoButton.TouchUpInside += delegate
{
this.AddMedia();
};
}
public void setupImagePicker()
{
imagePicker = new UIImagePickerController();
imagePicker.SourceType = UIImagePickerControllerSourceType.Camera;
imagePicker.ModalPresentationStyle = UIModalPresentationStyle.Popover;
imagePicker.MediaTypes = UIImagePickerController.AvailableMediaTypes(
UIImagePickerControllerSourceType.Camera);
imagePicker.FinishedPickingMedia += HandleFinishedPickingMedia;
imagePicker.Canceled += (sender, e) => {
imagePicker.DismissModalViewController(true);
};
}
public void HandleFinishedPickingMedia(object sender,
UIImagePickerMediaPickedEventArgs e)
{
bool isImage = false;
switch (e.Info[UIImagePickerController.MediaType].ToString())
{
case "public.image":
isImage = true;
break;
case "public.video":
break;
}
if (isImage)
{
UIImage originalImage = e.Info[UIImagePickerController.OriginalImage] as UIImage;
if (originalImage != null)
{
PreviewImageView.Image = originalImage;
imagePicker.DismissViewController(true, null);
}
}
}
public void AddMedia()
{
//Crashes on this line
this.NavigationController.PresentViewController(imagePicker, true, null);
}
ViewController自体にPresentViewControllerメソッドがありませんか?あなたはそれが何か違いがあるかどうかを見るためにそれを試してみることができますか? 'this.PresentViewController(imagePicker、true、null);' – Cheesebaron
も同様に試してみましたが、プレゼンテーションではまだクラッシュしています – DrPatience
これも行ってしまいましたか? @Cheesebaron – DrPatience