Xamarin.iOS新手:如何创建Storyboard并关联已有UIViewController
将现有UIViewController1关联到新创建的Storyboard
嘿,作为Xamarin.iOS新手,你这个需求其实很常见,我来一步步带你完成:
步骤1:添加Storyboard到项目
- 右键你的Xamarin.iOS项目,选择 Add > New Item
- 在弹出的窗口里,找到iOS分类下的 Storyboard,给它起个名字(比如
Main.storyboard),然后点击添加
步骤2:关联Storyboard中的ViewController到UIViewController1
- 打开刚创建的
Main.storyboard,从左侧工具箱拖一个ViewController到画布上 - 选中这个ViewController,切换到右侧的Identity Inspector(就是那个身份证图标)
- 在Class下拉菜单里,找到并选择你的
UIViewController1;同时确保Module选项选中你的项目名称(这一步很重要,避免找不到类)
步骤3:设置初始ViewController
- 还是在这个ViewController上,切换到右侧的Attributes Inspector(就是那个滑块图标)
- 勾选 Is Initial View Controller 选项,这样Storyboard加载时会自动启动这个ViewController
步骤4:修改AppDelegate.cs的代码
把你原来手动实例化ViewController的代码替换成从Storyboard加载的逻辑:
// 替换原来的 var view1 = new UIViewController1(); 这段 var storyboard = UIStoryboard.FromName("Main", null); // 这里的"Main"要和你刚才命名的Storyboard一致 var view1 = storyboard.InstantiateInitialViewController() as UIViewController1; Window.RootViewController = view1; Window.MakeKeyAndVisible();
额外注意事项
- 如果之后你想在Storyboard里拖控件(比如标签、按钮)并关联到UIViewController1,需要在VC类里声明
IBOutlet,然后回到Storyboard里按住Ctrl从控件拖到VC的代码里完成连线 - 要是遇到加载失败的情况,先清理项目(Build > Clean Solution)再重新编译,Xamarin有时候的缓存会导致类关联不生效
- 尽量统一控件创建方式,要么全用Storyboard,要么全用硬编码,避免两种方式混用导致布局冲突
内容的提问来源于stack exchange,提问作者ken.ng
相关产品推荐
相关产品推荐

