サブクラスNSTrackingArea
で 2 つの領域を定義するために使用しています。NSView
次に、mouseEntered/mouseExited を使用して、カーソルをカスタム カーソルに変更しています。
したがって、マウスが上部のトラッキング領域に入り、カスタム カーソルが期待どおりに設定されると、すべて正常に動作します。mouseDown を押して上部のトラッキング エリアをドラッグしても、すべて問題ありません。しかし、マウスをドラッグすると更新される UI の別の部分があり、同じウィンドウの別の場所にサブビューが追加されます。
最初のサブビューが別の場所に追加されるとすぐに、カスタム カーソルが消えて矢印カーソルに戻ります。ビューに使用してカーソルをカスタム カーソルに強制的に戻すことができるかもしれないと思ってcursorUpdate
いましたが、何らかの理由で呼び出されませんNSTrackingArea
。
これには少し困惑しています...