NSView,NSViewController和MainMenu.xib究竟是如何组合在一起的?

时间:2013-10-25 06:57:17

标签: cocoa interface-builder nsview nib nsviewcontroller

我要切入追逐:我的应用程序已经增长了很多,现在我觉得是时候做一些整理了。我想将我的一些视图从我的MainMenu.xib文件中分离到他们自己的Nib文件中。绊倒我的部分是整个“Interface Builder + My Code”的事情。这是我到目前为止所做的:

  1. 我添加了一个视图控制器代理对象:
    View Controller object in Interface Builder object browser

  2. 身份检查器中,我已将视图控制器的类名添加到“自定义类”字段中。
    Identity Inspector in Interface Builder

  3. 属性检查器中,我输入了要加载的笔尖的名称。 Nib Name field in Interface Builder

  4. 我已将视图控制器对象的视图插座连接到MainMenu.xib中的现有视图。
    View Outlet on View Controller in Interface Builder

  5. 最后,我点击了Cmd + R,我的观点不存在 [在此处插入FFFFUUUUU meme的图像。]

  6. 我错过了什么?过去两周我一直盯着我的Mac日复一日,所以如果我完全遗漏了一些东西,我也不会感到惊讶。如果有人看到我的n00b方式,并愿意指出我正确的方向,我会非常感激。感谢。

1 个答案:

答案 0 :(得分:7)

你几乎得到了它。

我在Github上发布了demo-project,仅供您使用;)


最后,您需要将视图实际添加到窗口中。在AppDelegate中执行此操作, 或者你认为合适的地方。

- (void)awakeFromNib {
    [self.window.contentView addSubview:self.customViewController.view];
    [self.customViewController.view setFrame:[self.window.contentView bounds]];
}

当然,您首先需要为视图控制器创建一个插座:

@property (assign) IBOutlet ITCustomViewController *customViewController;