2011-11-26 90 views
1

我有一个按钮,点击后打开Preferences窗口:Preferences窗口不重新打开关闭一次

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

}

然而,在关闭设置窗口,单击该按钮再做不重新打开窗户。有人能教我如何解决这个问题吗?感谢的xD

+1

好的解决了这个问题。 不知何故,axing窗口的效果是这样的: [[prefController prefWindow] setIsVisible:NO]; 所以这样做将它带回: [[prefController prefWindow] setIsVisible:YES]; 感谢迈克尔的帮助。 – hollow7

回答

2

我原来的答复(通常解决了大多数此类问题的)

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

enter image description here

我的回答#2)

把那[prefController showWindow:self];线OUTSIDEif (!prefController)上下文(即让showWindow得到每次openPreferences称为被调用)。

或者,更清晰:

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

nope。我已经把它关掉了,但这没有帮助。 – hollow7

+0

啊,我看到问题在哪里。微妙!每次调用'openPreferences'动作时调用'showWindow'。 –

+0

正在运行[prefController showWindow:self];第二次没有重新打开窗口。所以我害怕你的第二个答案也没有帮助。 :( – hollow7