【发布时间】:2011-10-02 20:09:30
【问题描述】:
我一直在努力解决这个问题,但我似乎无法自己解决。
情况是这样的: 我想要一个自定义的基于 Nib 的视图,它有自己的 ViewController。然后我想将此视图添加到窗口中。因此窗口应该包含我的自定义视图。
所以我开始创建一个非常简单的示例,如下所示:
- 在 Xcode 4 中,我创建了一个新的基于空白文档的 Cocoa 应用程序
- 我创建了一个新的 Cocoa 类,它应该从
NSViewController扩展(这会导致 nib 与 .h 和 .m 文件一起创建。创建的 .h、.m 和 .xib 文件的名称是 @ 987654322@ 出于测试目的,它现在应该只显示文本。 - 我在InterfaceBuilder 中打开
NSViewController.xib并添加一个多行文本组件并将其放置在自定义视图中,该视图已在xib 文件中。我让文本跨越整个视图。 - 在
MyDocument.xib中,我还添加了一个Custom View占位符,它应该替换为我的自定义 FaceView。
从这个起点开始,我尝试在MyDocument.xib 上包含创建的 View + ViewController 的所有操作都失败了,应该显示我的文本的区域仍然是空的(就像底层窗口的背景一样。
所以我的问题确实是我需要做的,以便我的 FaceView 被加载到我放置在 MyDocument.xib 上的自定义视图中。以下是我不清楚的一些事情:
- 自定义视图从
NSView扩展,所以我想将其更改为我的FaceView,但视图不作为类存在,而是在xib 的InterfaceBuilder 中定义,我是否需要将其设置为@987654329 以外的任何内容@? - 我必须在代码中分配、初始化
FaceViewController还是将其拖入我的两个 .xib 中的任何一个中就足够了? - 我可以使用 InterfaceBuilder 来放置我的 FaceView 还是必须以编程方式进行?
我真的认为创建这样的自定义视图会是小菜一碟,但到目前为止结果恰恰相反,因此我们将不胜感激。
【问题讨论】:
标签: xcode cocoa interface-builder nib nsviewcontroller