Cocoa 加载 ViewNib
Posted
技术标签:
【中文标题】Cocoa 加载 ViewNib【英文标题】:Cocoa Loading a ViewNib 【发布时间】:2009-11-13 23:45:19 【问题描述】:创建 nib 时,我要创建 2 种类型,WindowNib 或 ViewNib。我看到不同之处在于,窗口笔尖有一个窗口和一个视图。
如何将视图 nib 加载到另一个窗口中?我是否必须创建一个 WindowController 并添加一个窗口然后在窗口中加载 nib?
【问题讨论】:
【参考方案1】:通常,每个 NIB 都应该有一个控制器。因此,对于 Window NIB,您将拥有一个 NSWindowController 子类作为文件的所有者。类似地,对于视图 NIB,您将拥有一个 NSViewController 子类作为文件的所有者。在你展示 NSWindowController 子类的情况下,将实例化 NSViewController 子类(将其传递给适当的视图 NIB),然后将 NSViewController 的视图属性附加到窗口的视图层次结构中。
在您的窗口控制器的 awakFromNib 方法中,您将拥有以下示例:
- (void) awakeFromNib
_viewController = [[MyViewController alloc] initWithNibName: @"MyView" bundle: nil];
[[[self window] contentView] addSubview: [_viewController view]];
您也可以将此代码放在您的NSWindowController
子类的windowDidLoad
方法中。
【讨论】:
以上是关于Cocoa 加载 ViewNib的主要内容,如果未能解决你的问题,请参考以下文章