我要在窗户上打开一张纸,这是第一次打开它
正确,但是如果我关闭它,然后尝试再次打开它不起作用,我
只是得到系统警报声音。
- (IBAction) showSpeedSheet:(id)sender
{
[NSApp beginSheet:addEditPackagePanel
modalForWindow:[[NSApp delegate] window]
modalDelegate:nil
didEndSelector:nil
contextInfo:nil];
}
-(IBAction)endSpeedSheet:(id)sender
{
[NSApp endSheet:addEditPackagePanel];
[addEditPackagePanel orderOut:sender];
}
我找不到问题所在,该应用程序不会在日志上显示任何错误。
最佳答案
不需要委托。
因为系统认为窗口上已经有一张纸打开(无论该纸在技术上是否可见),都会发出蜂鸣声。这不是最大的错误报告,而是事实。
在我的代码表中有窗口控制器,我在关闭工作表按钮的每个操作中都执行以下两个步骤:
[NSApp endSheet:[windowController window]];
[windowController close];
通过这些步骤,可以显示后续工作表而不会发出哔声。
关于objective-c - 两次无法在窗口上打开工作表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4667899/