我要在窗户上打开一张纸,这是第一次打开它
正确,但是如果我关闭它,然后尝试再次打开它不起作用,我
只是得到系统警报声音。

- (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/

10-14 21:09
查看更多