【发布时间】:2009-12-18 22:54:17
【问题描述】:
我写了一些小可可应用程序,它的主窗口有 HUD 样式。 问题是 - 当我设置 HUD 样式时,Interface Builder 也会自动设置实用程序样式 - 这使得主窗口位于最顶层(始终在所有其他窗口上可见)。有没有办法获得 HUD 样式的面板/窗口,但不使其成为最顶层?
【问题讨论】:
标签: objective-c cocoa nswindow
我写了一些小可可应用程序,它的主窗口有 HUD 样式。 问题是 - 当我设置 HUD 样式时,Interface Builder 也会自动设置实用程序样式 - 这使得主窗口位于最顶层(始终在所有其他窗口上可见)。有没有办法获得 HUD 样式的面板/窗口,但不使其成为最顶层?
【问题讨论】:
标签: objective-c cocoa nswindow
事实证明,对于我最重要的问题,有一个非常简单的解决方案:
[hudPanel setLevel: NSNormalWindowLevel];
使其表现得像一个不在最顶层的普通窗口。
【讨论】:
如果您无法在 IB 中执行此操作,则必须以编程方式执行此操作。在这种情况下,这意味着以编程方式创建窗口。 (您需要将窗口的视图移动到 nib 中的单独顶级视图中,并将该视图设置为以编程方式创建的窗口的内容视图。)
您还应该file a bug report,因为从the NSPanel documentation 看来,HUD 样式不一定意味着实用程序窗口性质。
【讨论】: