我在我的视图中添加了NSTrackingArea以捕获mouseEntered / mouseExited事件。有用。然后,当捕获mouseEntered事件时,我做
[self.window invalidateCursorRectsForView:self];
在- (void)resetCursorRects
方法中我绘制图像,从中创建NSCursor然后:
[self addCursorRect:self.bounds cursor:myCursor];
看起来效果很好,但有时,当拖动鼠标(鼠标向下拖动)在视图光标上闪烁时(光标下方会出现一些神秘的黑色四边形,其大小完全符合我的光标大小。只有我的光标是圆形。如果我的光标很小,问题就不会出现了。当它变大时会开始闪烁。并且在没有同时完成其他绘图的情况下也不会出现。
可能是什么问题?
屏幕:
好时刻: 糟糕的时刻:答案 0 :(得分:1)
您要定位哪个OSX? resetCursorRects似乎已被弃用。 另外,你实现了cursorUpdate方法吗?怎么样?
Best,Akos
答案 1 :(得分:0)
因为我的NSView是NSOpenGLView,所以我不得不删除glClear(GL_COLOR_BUFFER_BIT)
行,因为在执行glClear
时它会使用alpha值进行辩论。