Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关闭键盘后Xamarin.iOS出现奇怪的崩溃_C#_Ios_Xamarin - Fatal编程技术网

C# 关闭键盘后Xamarin.iOS出现奇怪的崩溃

C# 关闭键盘后Xamarin.iOS出现奇怪的崩溃,c#,ios,xamarin,C#,Ios,Xamarin,因此,我正在Xamarin中构建一个MVVM应用程序。我现在正在处理某个viewmodel的iOS视图,该视图包含一些用于从列表中选择项目的RadioGroup,以及一些用于从键盘获取文本数据的EntryElements。现在,当您从列表中选择项目,然后输入键盘数据时,它就会工作。但是,如果您先输入键盘数据,然后尝试从RadioGroup中选择项目,我会在Main.cs中的以下行中崩溃: Main(args,null,“AppDelegate”) 以下是错误描述: Mangouth.Posial

因此,我正在Xamarin中构建一个MVVM应用程序。我现在正在处理某个viewmodel的iOS视图,该视图包含一些用于从列表中选择项目的RadioGroup,以及一些用于从键盘获取文本数据的EntryElements。现在,当您从列表中选择项目,然后输入键盘数据时,它就会工作。但是,如果您先输入键盘数据,然后尝试从RadioGroup中选择项目,我会在Main.cs中的以下行中崩溃:

Main(args,null,“AppDelegate”)

以下是错误描述:

Mangouth.Posial.MudioCouChutoExt:Objy-C异常抛出。名称:NSInvalidArgumentException原因:-[\uu NSCFString setRestorableResponder:]:发送到实例0x16744d90的选择器无法识别 at(包装器管理为本机)MonoTouch.UIKit.UIApplication:UIApplicationMain(int,string[],intptr,intptr) 在/Developer/MonoTouch/Source/MonoTouch/src/UIKit/UIApplication.Main(System.String[]args,IntPtr主体,IntPtr委托)[0x00005]中的/Developer/MonoTouch/Source/MonoTouch/src/UIKit/UIApplication.cs:62 在/Developer/MonoTouch/Source/MonoTouch/src/UIKit/UIApplication.cs:45中的MonoTouch.UIKit.UIApplication.Main(System.String[]args,System.String principalClassName,System.String delegateClassName)[0x0001c] 在/Users/developers/Desktop/GreenRideGlobalMeterReading/GreenRideGlobalMeterReading.iOS.Application.Main(System.String[]args)[0x00008]中的/Users/developers/Desktop/GreenRideGlobalMeterReading/GreenRideGlobalMeterReading.iOS/Main.cs:17


我搞不清楚到底是什么导致了这种情况——一些奇怪的MvvmCross或MonoTouch相关的框架错误?其他人以前遇到过这种情况,或者知道如何修复它吗?

看起来您忘记了呼叫键盘的“辞职第一响应者”。如果键盘已打开,并且您尝试单击另一个控件中的元素,则需要首先使用以下命令关闭键盘:

textBox.ResignFirstResponder();
您还可以在启动文本框时添加委托,如下所示:

tbDescription = new UITextField ();
tbDescription.Placeholder = "Description...";
tbDescription.ReturnKeyType = UIReturnKeyType.Done;
tbDescription.ShouldReturn += (textField) => 
{ 
    tbDescription.ResignFirstResponder ();
    return true; 
};

试试看。我希望有帮助。祝你好运

这个问题运气好吗?