单张打开未连接到窗口

时间:2012-04-02 00:02:28

标签: cocoa cocoa-sheet

我有一张纸张的问题,当第一次打开时,会打开未连接到窗口。在解雇之后,工作表就可以正常工作了。

以下是我开始使用的代码:

- (IBAction)addButtonAction:(id)sender {

    assert ([editorController window]);
    assert (window);

    [NSApp beginSheet: [editorController window]
       modalForWindow: window 
        modalDelegate: editorController 
       didEndSelector: @selector(didEndSheet:returnCode:contextInfo:) 
          contextInfo: nil]; 
}

变量'window'和'editorController'在应用程序委托头文件中初始化为@private。

'didEndSelector'在'editorController'代码文件中定义,并在窗口关闭时调用。

'didEndSelector'的代码如下:

- (void)didEndSheet:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
{
    [sheet orderOut:self];
}

通过调用选择器'cancelButtonAction'取消窗口,如下所示:

- (IBAction)cancelButtonAction:(id)sender {
    [NSApp endSheet:self.window];
}

任何想法都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

确保未打开xib文件中NSWindow上的“启动时可见”选项。