6

私はNSTrackingAreaをビューに追加して、mouseEntered/mouseExitedイベントをキャプチャしました。できます。次に、mouseEnteredイベントがキャプチャされると、

[self.window invalidateCursorRectsForView:self];

そして、- (void)resetCursorRectsメソッドで画像を描画し、そこからNSCursorを作成してから、次のようにします。

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

うまく機能しているように見えますが、ビュー上でマウスをドラッグ(マウスを下にドラッグ)すると、カーソルが点滅します(カーソルの下に不思議な黒いクワッドが表示され、そのサイズは私のカーソルサイズに完全に一致します。私のカーソルだけが円です。カーソルが小さいと問題は発生しません。カーソルが大きくなると点滅し始めます。また、他の描画が同時に行われていない間は発生しません。

何が問題なのですか?


画面:

良い瞬間: ここに画像の説明を入力してください

悪い瞬間: ここに画像の説明を入力してください

4

1 に答える 1

0

私のNSViewはNSOpenGLViewだったので、glClear(GL_COLOR_BUFFER_BIT)行を削除する必要がありました。これは、実行中glClearにアルファ値と競合するためです。

于 2013-02-13T15:53:02.420 に答える