2

我有一个包含在 nib 文件中的窗口,该窗口由这样的自定义子类加载NSWindowController

- (id)init
{
    self = [super initWithWindowNibName:@"MyWindow"];

    return self;
}

我想在它变得可见之前初始化这个窗口中的视图。现在我正在阅读一些用户默认值并将窗口的视图设置为windowDidLoad. 但不幸的是,新初始化的值仅在窗口变得可见后才应用,导致未初始化的值非常短暂地闪烁。

windowWillLoad不起作用,因为此时尚未从 nib 文件加载窗口。

如何在窗口显示之前对其进行初始化?

4

2 回答 2

4

你可以做你自己的showWindow方法。

- (IBAction)showWindow:(id)sender
{
    // do whatever initialization 
    // or window UI setup you 
    // need to do right here
    [super showWindow: sender];
}
于 2012-06-17T02:54:57.477 回答
1

- (void)awakeFromNib是进行视图设置的好地方。在所有对象都已取消归档并已连接出口后调用它。

文档中的更多信息

于 2012-06-17T08:25:11.517 回答