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

Col*_*las 5 macos nstextview nscursor

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

我想在我的应用程序中全局更改游标,以便即使游标输入trackingRectof(例如)的,NSTextView它也不会更改。

这可能吗?


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

Shi*_*sad 2

是的,这是可能的。我有一个几乎类似的要求,这是我解决它的方法:

创建窗口时,创建一个与frame窗口相同的透明视图。然后为您的特定光标添加一个光标矩形到视图(延伸到后者的bounds)。最后将其添加为窗口的最后一个子视图contentView,以便它充当覆盖层。当存在此覆盖时,底层视图的光标矩形不会被激活。

请参阅/sf/answers/3072075961/了解详细说明和工作代码(阅读窗口contentView而不是WebView)。它还描述了如何恢复到通常的行为。

希望有帮助!:)