Reputation: 1484
I'm using NSTrackingArea
to define 2 areas in a NSView
subclass. Then I'm using mouseEntered/mouseExited to change the cursor to a custom one.
So all works fine when the mouse enters the top tracking area and the custom cursor gets set as expected. All still good when I mouseDown and drag on the top tracking area. But I have another part of the UI that updates when the mouse is dragged and it adds subviews to a view elsewhere on the same window.
As soon as the first subview is added elsewhere, my custom cursor disappears and it reverts back to the arrow cursor. I thought I might be able to force the cursor back to the custom one using cursorUpdate
for my view but for some reason it never gets called, even when set as an option in the NSTrackingArea
.
Am a bit stumped with this one...
Upvotes: 1
Views: 734
Reputation: 1484
I solved it by overriding cursorUpdate
in the window's custom contentView. An empty cursorUpdate
method stopped the update from getting passed up the chain and the custom cursor now remains as I've set it.
Upvotes: 3