我的 NSPanel 窗口始终位于所有其他应用程序窗口的顶部。这就是我加载它的方式:
[NSApp beginSheet:[self window] modalForWindow:[rootDocument mainWindow] modalDelegate:self didEndSelector:nil contextInfo:nil];
我尝试使用 setLevel
: 和不同的级别类型,或使用 orderBack
: 或 orderFront
: 更改级别。但这些方法似乎没有效果,因为窗口总是在最上面。
谢谢
最佳答案
您不能将 nil
、Nil
、0 或 NULL
传递给 didEndSelector
。曾经。您将选择器传递给已声明的方法 (-sheetDidClose:returnCode:contextInfo:
)。您正在传递选择器以外的其他内容,这使得您为消除该工作表所做的任何其他操作都受到怀疑。 (您没有说该小组是否会保持领先,因为它从未被解雇,但这是我的假设。)
看看Using Custom Sheets ,这是 Apple 自己关于该主题的文档。
此外,请确保您使用的面板在 IB 中关闭了“启动时可见”标志。
关于objective-c - NSPanel 始终位于所有其他应用程序窗口之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14628716/