NSPanel始终位于所有其他应用程序窗口之上

时间:2013-01-31 14:58:26

标签: objective-c cocoa cocoa-sheet

我的NSPanel窗口始终位于所有其他应用程序窗口之上。这是我加载它的方式:

[NSApp beginSheet:[self window] modalForWindow:[rootDocument mainWindow] modalDelegate:self didEndSelector:nil contextInfo:nil];

我尝试使用setLevel:和不同级别类型,或使用orderBack:或orderFront更改级别:。但似乎这些方法没有任何效果,因为窗口始终位于顶部。

感谢

1 个答案:

答案 0 :(得分:1)

您未将nilNil,0或NULL传递给didEndSelector。永远。将选择器传递给已声明的方法(-sheetDidClose:returnCode:contextInfo:)。你传递的东西不是选择器,而是你正在做的其他事情来解雇那张可疑的纸张。 (你还没有说小组是否因为它从未被解雇而保持在最顶层,但这是我的假设。)

查看Using Custom Sheets,这是Apple自己关于此主题的文档。

另外,请确保您使用的面板在IB中关闭了“Visible At Launch”标志。