如何在全球范围内更改NSCursor?

时间:2017-02-03 15:42:07

标签: macos nstextview nscursor

我正在开发一个包含多个窗口和视图的应用程序(NSTextView等)。

我想在我的应用程序中全局更改游标,这样即使光标进入trackingRect(例如)NSTextView它也不会改变。

这可能吗?

PS:我还需要回到通常的行为。

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。我有一个几乎相似的要求,这就是我如何解决它:

创建窗口时,使用与窗口相同的frame创建透明视图。然后将光标rect添加到特定光标的视图(扩展到后者' s bounds)。最后将其添加为窗口contentView的最后一个子视图,以便它充当叠加层。如果存在此叠加层,则不会激活基础视图的光标位置。

有关详细说明和工作代码,请参阅https://stackoverflow.com/a/43886799/7908996(阅读窗口' contentView 而不是 WebView ) 。它还描述了如何恢复到通常的行为。

希望有所帮助! :)