作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
创建 Nib 时,我需要创建两种类型:WindowNib 或 ViewNib。我看到的区别是,窗口 Nib 有一个窗口和一个 View 。
如何将 View Nib 加载到另一个窗口中?我是否必须创建一个 WindowController 并添加一个窗口,然后在窗口中加载 Nib ?
最佳答案
通常,每个 NIB 都应该有一个 Controller 。因此,对于 Window NIB,您将有一个 NSWindowController 子类作为文件的所有者。类似地,对于 View NIB,您将有一个 NSViewController 子类作为文件的所有者。在您提供 NSWindowController 子类的情况下,将实例化 NSViewController 子类(将其传递给适当的 View NIB),然后将 NSViewController 的 view 属性附加到窗口的 View 层次结构。
在窗口 Controller 的 awakFromNib 方法中,您将具有以下示例:
- (void) awakeFromNib {
_viewController = [[MyViewController alloc] initWithNibName: @"MyView" bundle: nil];
[[[self window] contentView] addSubview: [_viewController view]];
}
您还可以将此代码放置在 NSWindowController
子类的 windowDidLoad
方法中。
关于Cocoa 加载 ViewNib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1732597/
创建 Nib 时,我需要创建两种类型:WindowNib 或 ViewNib。我看到的区别是,窗口 Nib 有一个窗口和一个 View 。 如何将 View Nib 加载到另一个窗口中?我是否必须创建
我是一名优秀的程序员,十分优秀!