C# 单触式NSInvalidArgumentException摄像机

C# 单触式NSInvalidArgumentException摄像机,c#,xamarin.ios,camera,C#,Xamarin.ios,Camera,我用MonoTouch创建的iPad应用程序有问题。我的应用程序在调用方法“SelectPicture”后通过调用方法“TakePicture”行“parent.PresentModalViewController(picker,true);”崩溃。如果我反复调用这个方法“TakePicture”,我就没有问题了 返回的错误为:“NSInvalidArgumentException原因: 应用程序试图在目标“”上呈现无模式视图控制器 公共静态类摄像机 { 静态图像选择器控制器选择器; 静态动作回

我用MonoTouch创建的iPad应用程序有问题。我的应用程序在调用方法“SelectPicture”后通过调用方法“TakePicture”行“parent.PresentModalViewController(picker,true);”崩溃。如果我反复调用这个方法“TakePicture”,我就没有问题了

返回的错误为:“NSInvalidArgumentException原因: 应用程序试图在目标“”上呈现无模式视图控制器

公共静态类摄像机
{
静态图像选择器控制器选择器;
静态动作回调;
静态超控器;
静态void Init()
{
if(选择器!=null)
返回;
picker=新的UIImagePickerController();
Delegate=newcameradelegate();
}
公共静态void TakePicture(UIViewController父级,操作回调)
{
Init();
picker.SourceType=UIImagePickerControllerSourceType.Camera;
_回调=回调;
控制台写入线(“控制器测试”);
parent.PresentModalViewController(选择器,true);
}
公共静态void SelectPicture(UIViewController父级,操作回调)
{
if(Utils.isIpad()){
picker=新的UIImagePickerController();
popover=新的UIPOPOPOVER控制器(选择器);
picker.Delegate=新的CameraDelegate();
_回调=回调;
picker.SourceType=UIImagePickerController源类型.PhotoLibrary;
picker.ContentSizeForViewInPopover=新的SizeF(parent.View.Frame.Width,parent.View.Frame.Height);
if(popover!=null)
popover.PresentFromRect(新矩形(0,01000,1),
parent.View,UIPopOverErrorDirection.Any,true);
}否则{
Init();
picker.SourceType=UIImagePickerController源类型.PhotoLibrary;
_回调=回调;
parent.PresentModalViewController(选择器,true);
}
}
CameraDelegate类:UIImagePickerControllerDelegate{
public override void FinishedPickingMedia(UIImagePickerController选择器,NSDictionary信息)
{
var cb=_回调;
_callback=null;
picker.DismissModalViewControllerAnimated(true);
cb(信息);
if(popover!=null&&popover.PopoverVisible){
popover.discover(true);
popover.Dispose();
控制台。写入线(“处置”);
}
picker.Dispose();
}
}
}
谢谢你的帮助。

我的问题解决了。 我要删除这一行:

 picker.Dispose();
 picker.Dispose();