如何创建故事板并将其链接到现有的UIViewController?

时间:2018-03-20 14:19:17

标签: uiviewcontroller xamarin.ios storyboard

我是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?

我发现的其他解决方案不起作用。我得到的只是一个空白的白色屏幕。

1 个答案:

答案 0 :(得分:2)

打开空的故事板,在左侧窗口中您将看到工具箱(如果您没有看到它,请按Ctrl + Alt + X打开它)。选择一个ViewController,然后将其放在故事板上。

在这里,您将看到一个只有一个ViewController的Storyboard,如:

enter image description here

单击ViewController左下角的黄色按钮。在Property窗口中我们可以选择它的Class,单击向下箭头选择:

enter image description here

通过这种方式,我们将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 的属性窗口中设置;