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

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


}

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

最佳答案

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

在Interface Builder中关闭该窗口的“关闭时释放”复选框,您应该可以。



我的答案2)

[prefController showWindow:self];行放在if (!prefController)上下文的外面(即,每次调用showWindow时都会调用openPreferences)。

或者,更明确地说:

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

07-24 09:47
查看更多