我知道这个用例是非典型的,但我一直试图找出一种方法来使NSPanel
非激活,仅在某些情况下。
如果 anNSPanel
被初始化NSNonactivatingPanelMask
(或者如果在 Interface Builder 中选中了面板的“Non Activating”属性),那么稍后在代码中更改样式掩码对窗口行为没有影响:
[panel setStyleMask:([panel styleMask] | NSNonactivatingPanelMask)];
检查styleMask
属性显示它NSNonactivatingPanelMask
已打开,但单击其标题栏仍会激活应用程序。
反之亦然。在代码中使用掩码进行初始化NSNonactivatingPanelMask
并将掩码设置为([panel styleMask] & ~NSNonactivatingPanelMask)
稍后对窗口行为没有影响,导致单击标题栏时它不会激活应用程序。
是否有一个简单的解决方法,例如告诉窗口重新解释其样式掩码的方法?如果没有,最合适的选择是什么?