如何永久更改 NSButton 的光标?

How can I permanently change the cursor for an NSButton?

我已经使用 this question 中的技术为我的 NSButton 设置了光标,最初效果很好。但是,一旦 window 被隐藏然后重新显示,它就会中断(这是一个菜单栏应用程序,因此每次用户在 window 之外单击时 window 都会被隐藏)。到那时,它会回到正常的光标,永远不会回到指向手。

有没有办法永久设置 NSButton 的光标?


更新:
我发现它不是 window 的 showing/hiding 在移动到另一个应用程序然后移回时杀死光标。如果我只是简单地 show/hide window,通过一遍又一遍地单击菜单栏图标,光标始终正常运行。但是一旦我点击另一个应用程序然后点击返回,光标就会永远坏掉(直到我终止并重新启动该应用程序)。

我发现问题是当用户点击它时应用程序没有被带到前面。它最初位于前面,就在启动应用程序之后,但是单击离开然后单击返回使其 出现在 前面,但它并没有使它成为 "active window",出于某种原因。

我通过使用

以编程方式将其强制放在最前面来解决了这个问题
[[NSApplication sharedApplication] activateIgnoringOtherApps : YES];

[[NSRunningApplication currentApplication] activateWithOptions:(NSApplicationActivateAllWindows | NSApplicationActivateIgnoringOtherApps)];

正如 this question.

中所指出的