我是Xamarin.iOS平台的新手。
我创建了一个空的Xamarin.iOS项目然后创建我的主要UIViewController,它是 UIViewController1 ,然后在AppDelegate.cs中设置它:
// If you have defined a root view controller, set it here:
var view1 = new UIViewController1();
Window.RootViewController = view1;
// make the window visible
Window.MakeKeyAndVisible();
在UIViewController1中,我对所有标签,按钮和内容进行了硬编码。像这样:
var frame = new CGRect(10, 10, 300, 30);
var Label = new UILabel(frame);
View.AddSubView(Label);
但是现在当确认一切正常后,我想为我的 UIViewController1 创建一个故事板,并将所有元素移到它上以备将来维护,所以在创建一个空的故事板后怎么能我将它链接到我当前的UIViewController1?
我发现的其他解决方案不起作用。我得到的只是一个空白的白色屏幕。
答案 0 :(得分:2)
打开空的故事板,在左侧窗口中您将看到工具箱(如果您没有看到它,请按Ctrl + Alt + X打开它)。选择一个ViewController
,然后将其放在故事板上。
在这里,您将看到一个只有一个ViewController的Storyboard,如:
单击ViewController左下角的黄色按钮。在Property窗口中我们可以选择它的Class,单击向下箭头选择:
通过这种方式,我们将ViewController绑定到UIViewController1
。但是我们还需要在这个类中创建一个初始方法:
public UIViewController1 (IntPtr handle) : base(handle)
{
}
如果要将Storyboard用作初始窗口,请打开info.plist,选择Storyboard的主界面。然后在FinishedLaunching()
中删除有关初始化Window
的所有代码:
//var view1 = new UIViewController1();
//Window.RootViewController = view1;
// make the window visible
//Window.MakeKeyAndVisible();
此外,我们不应使用var view1 = new UIViewController1();
构建ViewController,而应使用UIStoryboard.FromName("StoryboardName", null).InstantiateViewController("ViewControllerID");
。这个ViewControllerID可以在上面发布的名为 Storyboard ID 的属性窗口中设置;