2011-11-02 52 views
2

我试图在我的应用程序顶部显示一个模式对话框,但它关闭时阻止我的主应用程序窗口。这里是我的代码:应用程序卡在运行ModalForWindow

TutorialWindowController* pTutorialController = [[TutorialWindowController alloc] initWithWindowNibName:@"TutorialWindow"]; 
NSWindow* pTutorialWindow = [pTutorialController window]; 
DDLogInfo(@"Tutorial window opening..."); 
[NSApp runModalForWindow: pTutorialWindow]; 
DDLogInfo(@"Tutorial window closed!"); // CODE NEVER GETS HERE 
[NSApp endSheet: pTutorialWindow]; 
[pTutorialWindow orderOut: self]; 

在模态对话框,我的关闭按钮运行此:

- (IBAction)closeButtonPressed:(id)sender { 
    [NSApp stopModal]; 
} 

模态对话框显示细腻。但是,当我单击关闭按钮时,对话框消失,我的应用程序的主窗口不响应。每次尝试点击时,我都会听到垃圾声。我很确定这是因为代码在runModalForWindow之后永远不会继续。同样的事情发生,如果我关闭模式dialo使用红色的X.

我做错了什么?

回答

0

订购了教程窗口后,尝试在主窗口上做了

[window makeKeyAndOrderFront:self]; 

0

您应该先致电[pTutorialWindow orderOut:nil]

+0

先打电话?哪里。请添加更多详细信息 –

+0

就在'[NSApp endSheet:pTutorialWindow];' – Kito