在我的 macOS 应用程序中,我有一个自定义 WebView。当用户将鼠标光标移动到 WebView 网页中的不同元素上时,例如文本、链接等(我认为这些元素是作为子视图实现的),光标会根据元素的类型自动更新。
我的要求是我想为 WebView 设置一个自定义光标(如果可能的话,甚至为我的整个应用程序),并且不要让它发生任何变化,至少在我以编程方式在代码的其他部分中更改它之前。我试图在 AppDelegate 的applicationDidFinishLaunching:
方法中设置 NSCursor,但它会立即重置。
我尝试了许多解决方案,例如设置一个NSTrackingArea
,发送disableCursorRects
到我的NSApplication
和NSWindow
,甚至监视游标更新事件,但没有太大成功。
那么有没有办法在我的应用程序中禁用所有 NSCursor 更新?我会将它设置为我的自定义光标,applicationDidFinishLaunching:
并希望它在应用程序运行时保持不变,或者我在代码中更改它。