Z S*_*Z S 5 macos cocoa nsview nswindow nswindowcontroller
我在主窗口中显示一张纸.我使用以下代码展示工作表:
AddContactWindowController *addContact = [[AddContactWindowController alloc] initWithWindowNibName:@"AddContactWindow"];
addContact.currentViewController = myView;
self.addWindowController = addContact;
[self.view.window beginSheet: addContact.window completionHandler:^(NSModalResponse returnCode) {
NSLog(@"completionHandler called");
}];
Run Code Online (Sandbox Code Playgroud)
AddContactWindowController是NSWindowController的子类.它内部有一个视图控制器.在视图内部是一个"关闭"按钮,它调用:
[[[self view] window] close];
Run Code Online (Sandbox Code Playgroud)
这会关闭窗口,但不会调用beginSheet中的completionHandler.这引起了我的问题.
有没有什么特别的方法我们应该关闭NSWindow表以便成功调用完成处理程序?我也尝试过,[[[self view] window] orderOut:self]但这也不起作用.
谢谢.