关闭后,“首选项”窗口不会重新打开

时间:2011-11-26 16:21:46

标签: objective-c cocoa window preferences

我有一个按钮,单击该按钮可打开“首选项”窗口:

-(IBAction)openPreferences:(id)sender
{
    if (!prefController) {
        prefController = [[PreferencesController alloc] initWithWindowNibName:@"Preferences"];
        [prefController showWindow:self];
}

}

但是,关闭“首选项”窗口后,再次单击该按钮不会重新打开该窗口。有人可以教我如何解决这个问题吗?谢谢xD

1 个答案:

答案 0 :(得分:2)

我的原始答案(通常可以解决大部分此类问题)

在Interface Builder中关闭该窗口的 OFF “关闭时释放”复选框,您应该没问题。

enter image description here

我的回答#2)

放置[prefController showWindow:self];上下文的if (!prefController) OUTSIDE (即每次调用showWindow openPreferences被称为)。

或者,更清楚:

-(IBAction)openPreferences:(id)sender
{
    if (!prefController) {
        prefController = [[PreferencesController alloc] initWithWindowNibName:@"Preferences"];
    }
    [prefController showWindow:self];
}