我有一个包含在nib文件中的窗口,它由NSWindowController
的自定义子类加载,如下所示:
- (id)init
{
self = [super initWithWindowNibName:@"MyWindow"];
return self;
}
我希望在此窗口变为可见之前初始化它们。现在我正在阅读一些用户默认值并在windowDidLoad
中设置窗口的视图。但遗憾的是,只有在窗口可见后才会应用新初始化的值,导致未初始化的值非常短暂地闪烁。
windowWillLoad
不起作用,因为此时尚未从nib文件加载窗口。
如何在显示窗口之前初始化窗口?
答案 0 :(得分:4)
您可以使用自己的"showWindow
"方法。
- (IBAction)showWindow:(id)sender
{
// do whatever initialization
// or window UI setup you
// need to do right here
[super showWindow: sender];
}
答案 1 :(得分:1)
- (void)awakeFromNib
是进行视图设置的好地方。在对所有对象进行解档并连接出口后调用它。