所以我以为我已经覆盖了我的基础,但显然我错过了一个或两个关键步骤。
当按下 NSStatusItem 时,我有一个显示 ( makeKeyAndOrderFront:
) 的 NSPanel。效果很好,但是当 NSPanel 显示标题栏时,面板也是可拖动的。(这是不希望的。)
第一个屏幕截图显示了在界面生成器中启用了“标题栏”的面板,位于外观类别中。(抱歉模糊,事情目前仍处于锁定状态。)
在 Interface Builder 中所做的唯一更改是取消选中“标题栏”复选框。然后我保存并重新运行,这就是您在第二个屏幕截图中看到的内容。虽然出现了轻微的阴影,但面板没有。
我尝试过的事情:
我已经对 NSPanel
YES
进行了子类化,canBecomeKeyWindow
并canBecomeMainWindow
在进行了一些研究之后返回,但是(在子类化之前)这些方法都返回NO
了,无论我是否使用标题栏。所以我认为这不是问题。我已确保正确设置了 NSPanel 的框架。它具有良好的高度,并且原点设置也正确。
编辑:忘记提及:
该应用程序是一个仅限菜单栏的应用程序。在下面的屏幕截图中,请注意添加了一个附加条目Info.plist
来强制执行此操作。