我正处于这个疯狂项目的最后阶段!!!!!!!
我有一个UIViewController类,它链接到一个带有带有2个选项卡的tabbar控制器的nib。两个选项卡都加载nib文件。当我编译时,我收到一个错误:
-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "MainViewController" nib but the view outlet was not set
。
这里发生了什么? MainViewController视图正在由nib文件填充(并且这些文件视图正确链接).MainViewController的Files的所有者有一个参数“view”但不应该被忽略,因为我从一个nib加载两个视图?任何帮助将不胜感激!
答案 0 :(得分:36)
我在调试器中遇到了同样的错误(加载了“xViewController”笔尖,但未设置视图插件。)
在Interface Builder中,我打开了xViewController.xib,右键单击了View图标,从New Referencing Outlet旁边的圆圈拖到File's Owner图标,然后,当出现小灰色菜单时,我点击了视图。 (然后保存,重建,运行等......)
我不清楚发生了什么,但是修复了它。
根据我的理解,如果有人想跟进,View的插座(名为“view”)未设置,通过将New Referencing Outlet拖动到File的Owner图标,我设置了View的插座。大。
答案 1 :(得分:2)
问题#1 - 笔尖但未设置视图插座。 1.我的MainMenu.xib有tabbarcontroller,它的File的所有者必须连接到某种视图。所以放入一个视图对象并将其链接就可以了。我很生气,因为它一直显示该文件,而不是tabbar。 #2解决了这个问题
问题#2 - 没有显示标签栏 2.创建一个IBOutlet UITabBarController并将其链接到文件所有者。然后在viewdidload方法中执行self.view = tbController.view;现在您的标签栏显示的不是您链接到的空白视图文件!
答案 2 :(得分:0)
您需要将每个外部笔尖的视图添加到主xib,然后将视图插座连接到正确的视图。例如,如果您在MainMenu.xib中有标签栏和名为ViewOne.xib的外部xib,则打开它们,将ViewOne.xib窗口中的自定义视图(或其任何名称)拖到MainMenu.xib窗口。然后将该视图的选项卡的视图插座连接到自定义视图。一旦将自定义视图复制到MainMenu.xib,就应该重命名自定义视图,这样就可以将它与您必须添加到MainMenu.xib的其他视图区分开来。