在第一个项目中,我有一个UIButton
。当我触摸它时,将从另一个项目打开其他UIViewController
。但我有一个问题:
这是第一个项目的代码,我将用它来调用另一个项目中的其他UIViewcontroller
public partial class SomeSoluctionViewController : UIViewController
{
public SomeSoluctionViewController (IntPtr handle) : base (handle)
{
}
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
PushedClassController pushedclass = PushedClass.AppDelegate.Storyboard.InstantiateViewController ("PushedClass") as PushedClassController;
CallButton.TouchUpInside += (object sender, EventArgs e) => {
this.NavigationController.PushViewController (pushedclass, true);
};
// Perform any additional setup after loading the view, typically from a nib.
}
}
我使用PushViewController作为Xamarin的网站指示
我使用标识符实现第二个类。
在PushedClassController的AppDelegate上:
public static UIStoryboard Storyboard = UIStoryboard.FromName ("MainStoryboard", null);
我在上面使用它。
这是第二个项目中的pushView:
namespace PushedClass
{
** [Register ("PushedClass")]**
public partial class PushedClassController : UIViewController
{
public PushedClassController (IntPtr handle) : base (handle)
{
}
}
}
注册" PushedClass"
日志:抛出Objective-C异常。名称:NSInvalidArgumentException原因:Storyboard()不包含带有标识符' PushedClass'
的视图控制器答案 0 :(得分:0)
在xamarin中打开推送的项目。
单击底部的黑条,选择要显示的视图控制器。
在标识下的设计器属性栏中,为故事板ID 和恢复ID 指定唯一ID到PushedClass
。