Xamarin / MonoTouch新手
我有一个通用的故事板应用程序(ipad和iphone) 我使用故事板
所以我已经从MainViewController链接了一个segue 到secondaryViewController(educateViewController)。
我不使用也不想使用导航控制器(我可以在原生iOS中执行此操作)
我正在努力处理导致
的PerformSegue调用我有 private educateViewController educateScreen;System.Exception:在托管上从objective-c调用的Selector 具有的MyTestApp.educateViewController类型的对象(0x9827E50) 已经GC'ed ---> System.Exception:找不到构造函数 MyTestApp.educateViewController ::。构造函数(System.IntPtr)
和ViewDidLoad()内部 educateScreen = new educateViewController();
partial void educate (MonoTouch.Foundation.NSObject sender)
{
solveIt(sender);
if (valid) {
if (UserInterfaceIdiomIsPhone) {
this.PerformSegue("educate", this); <<<< error occurs here
} else if (UserInterfaceIdiomIsiPad) {
this.Instructor.Hidden = false;
}
}
}
只有在iPhone上才会调用Segue
欢迎所有帮助,提前致谢
答案 0 :(得分:3)
您需要确保EducateViewController实现以下构造函数:
public EducateViewController (IntPtr handle) : base (handle)
{
}
这应该允许从故事板中实例化视图控制器。
答案 1 :(得分:0)
执行谴责:
this.PerformSegue("segueIdentifier here", this);
在目标类上,添加:
protected MyCustomController(IntPtr handle) : base(handle)
{
// Note: this .ctor should not contain any initialization logic.
}
注意:请更改&#39; MyCustomController&#39;作为目标控制器名称。