12

我即将完成这个该死的项目!!!!!!!

我有一个 UIViewController 类,它链接到一个 nib,该 nib 有一个带有 2 个选项卡的选项卡控制器。两个选项卡都加载 nib 文件。编译时出现错误:

-[UIViewController _loadViewFromNibNamed:bundle:] loaded the "MainViewController" nib but the view outlet was not set.

这里发生了什么?MainViewController 视图由 nib 文件填充(并且这些文件视图已正确链接)。MainViewController 的文件所有者有一个参数“view”,但由于我从 nib 加载两个视图,因此不应该忽略它吗?任何帮助,将不胜感激!

4

3 回答 3

36

我在调试器中遇到了同样的错误(加载了“xViewController”笔尖,但未设置视图出口。)。

在 Interface Builder 中,我打开 xViewController.xib,右键单击 View 图标,从 New Referencing Outlet 旁边的圆圈拖到 File's Owner 图标,然后,当出现灰色的小菜单时,我单击了视图。(然后保存,重建,运行等......)

我不清楚发生了什么,但这解决了它。

据我了解,如果有人想跟进,视图的出口(名为“视图”)没有设置,通过将新引用出口拖到文件所有者图标上,我设置了视图的出口。伟大的。

于 2010-01-17T22:27:14.937 回答
2

问题 #1 - nib 但未设置视图出口。1. 我的 MainMenu.xib 有 tabbarcontroller,它的文件所有者必须连接到某种视图。所以放入一个视图对象并链接它很好。我很生气,因为它一直显示该文件而不是标签栏。#2 解决了这个问题

问题 #2 - 没有显示标签栏 2. 创建一个 IBOutlet UITabBarController 并将其链接到文件所有者。然后在 viewdidload 方法中执行这个 self.view = tbController.view; 现在您的标签栏显示的不是您链接到的空白视图文件!

于 2009-07-29T19:58:16.720 回答
0

您需要将每个外部 nib 的视图添加到主 xib,然后将视图出口连接到正确的视图。例如,如果您在 MainMenu.xib 中有选项卡栏和一个名为 ViewOne.xib 的外部 xib,然后打开它们,将自定义视图(或其他名称)从 ViewOne.xib 窗口拖到 MainMenu.xib 窗口。然后将该视图的选项卡的视图出口连接到自定义视图。将自定义视图复制到 MainMenu.xib 后,您可能应该重命名它,以便将其与您必须添加到 MainMenu.xib 的其他视图区分开来。

于 2009-07-29T18:19:03.680 回答