【问题标题】:Cocoa HUD window - how to turn off topmost?Cocoa HUD 窗口 - 如何关闭最顶层?
【发布时间】:2009-12-18 22:54:17
【问题描述】:

我写了一些小可可应用程序,它的主窗口有 HUD 样式。 问题是 - 当我设置 HUD 样式时,Interface Builder 也会自动设置实用程序样式 - 这使得主窗口位于最顶层(始终在所有其他窗口上可见)。有没有办法获得 HUD 样式的面板/窗口,但不使其成为最顶层?

【问题讨论】:

    标签: objective-c cocoa nswindow


    【解决方案1】:

    事实证明,对于我最重要的问题,有一个非常简单的解决方案:

    [hudPanel setLevel: NSNormalWindowLevel];
    

    使其表现得像一个不在最顶层的普通窗口。

    【讨论】:

      【解决方案2】:

      如果您无法在 IB 中执行此操作,则必须以编程方式执行此操作。在这种情况下,这意味着以编程方式创建窗口。 (您需要将窗口的视图移动到 nib 中的单独顶级视图中,并将该视图设置为以编程方式创建的窗口的内容视图。)

      您还应该file a bug report,因为从the NSPanel documentation 看来,HUD 样式不一定意味着实用程序窗口性质。

      【讨论】:

      • 我从您的链接中阅读了更多关于 NSPanel 的文档 - 我会将此 HUD + Utility 复选框称为错误(但我敢打赌他们是故意这样做的),我可以以编程方式创建 HUD 窗口,但它是正方形(没有圆角),并且您似乎无法设置具有关闭按钮和窗口标题的 HUD 窗口。我已经自定义了类似 HUD 的按钮,所以可能我将不得不制作看起来像 HUD 面板的自定义窗口子类..
      • 您应该能够为标题和关闭按钮添加样式掩码。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-25
      • 1970-01-01
      • 1970-01-01
      • 2011-07-05
      相关资源
      最近更新 更多