gpt4 book ai didi

macos - NSWindow beginSheet finishHandler 未调用

转载 作者:行者123 更新时间:2023-12-03 16:08:42 26 4
gpt4 key购买 nike

我正在主窗口中显示一张表。我使用以下代码展示该表:

AddContactWindowController *addContact = [[AddContactWindowController alloc] initWithWindowNibName:@"AddContactWindow"];
addContact.currentViewController = myView;
self.addWindowController = addContact;

[self.view.window beginSheet: addContact.window completionHandler:^(NSModalResponse returnCode) {
NSLog(@"completionHandler called");
}];

AddContactWindowController 是 NSWindowController 的子类。它里面有一个 View Controller 。 View 内部有一个“关闭”按钮,可调用此按钮:

[[[self view] window] close];

这确实会关闭窗口,但不会调用 beginSheet 中的completionHandler。这给我带来了一些问题。

我们是否应该关闭 NSWindow 工作表以便成功调用完成处理程序?我也尝试过 [[[self view] window] orderOut:self] 但这也不起作用。

谢谢。

最佳答案

您需要调用-endSheet:returnCode:在你的 window 上,而不是仅仅订购它。

关于macos - NSWindow beginSheet finishHandler 未调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25073716/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com