自定义NSCursor闪烁黑色四边形

时间:2013-01-04 11:31:44

标签: objective-c macos cursor

我在我的视图中添加了NSTrackingArea以捕获mouseEntered / mouseExited事件。有用。然后,当捕获mouseEntered事件时,我做

[self.window invalidateCursorRectsForView:self];

- (void)resetCursorRects方法中我绘制图像,从中创建NSCursor然后:

[self addCursorRect:self.bounds cursor:myCursor];

看起来效果很好,但有时,当拖动鼠标(鼠标向下拖动)在视图光标上闪烁时(光标下方会出现一些神秘的黑色四边形,其大小完全符合我的光标大小。只有我的光标是圆形。如果我的光标很小,问题就不会出现了。当它变大时会开始闪烁。并且在没有同时完成其他绘图的情况下也不会出现。

可能是什么问题?


屏幕:

好时刻: enter image description here

糟糕的时刻: enter image description here

2 个答案:

答案 0 :(得分:1)

您要定位哪个OSX? resetCursorRects似乎已被弃用。 另外,你实现了cursorUpdate方法吗?怎么样?

Best,Akos

答案 1 :(得分:0)

因为我的NSView是NSOpenGLView,所以我不得不删除glClear(GL_COLOR_BUFFER_BIT)行,因为在执行glClear时它会使用alpha值进行辩论。