2

我有一个自定义视图,需要根据鼠标的位置设置光标。我用来[NSCursor set]mouseMoved:处理程序中设置光标。这适用于 OS X 10.5,但大多数时候不适用于 10.6。有时光标会改变,但通常不会。

问题是我必须设置光标以响应mouseMoved:事件,我无法注册光标矩形或使用 aNSTrackingAreaupdateCursor:事件。我正在为 NetSurf 浏览器开发 Cocoa 前端。引擎期望来自前端的鼠标移动事件。如果光标位于链接或需要不同光标的东西上,引擎会从前端调用一个函数来设置新光标。

关于如何在雪豹上进行这项工作的任何想法?

4

2 回答 2

0

通常,您应该使用 CursorRects 来避免其他视图更改您的光标。但是由于您不能这样做,因此您可以通过在鼠标进入您的视图时在窗口级别禁用 CursorRects 来防止它们的干扰。在鼠标退出视图时,为窗口启用后退光标。

于 2015-12-01T11:35:46.583 回答
0

只需在 mouseEnter 和 mouseExit 中使用带有 push 和 pop 的 NSCursor 对象

于 2015-12-01T16:41:47.167 回答