Re: Mouse cursors and overlapping sibling NSViews
Re: Mouse cursors and overlapping sibling NSViews
- Subject: Re: Mouse cursors and overlapping sibling NSViews
- From: Ken Thomases <email@hidden>
- Date: Wed, 23 Apr 2014 08:58:49 -0500
On Apr 23, 2014, at 8:48 AM, Sean McBride wrote:
> I'm trying to determine how to manage the mouse cursor in the case of overlapping sibling views.
>
> I have a custom NSView that needs to change its cursor depending on mouse position and internal state. The sibling views (which all draw on top of my view, thus appearing sorta like subviews) are simple standard Cocoa controls (ex: push buttons, popup menus). Since those siblings views are always 'on top', I want them to decide the mouse cursor if the cursor is above them, but Cocoa still calls my mouseMoved: method, which I guess is not unreasonable since the cursor is in fact above several views at the same time.
>
> I haven't been able to find any docs about how cursor handling works with overlapping views, anyone know?
I don't know of any docs. I suspect the superview iterates through its subviews in the order they appear in the array returned by the -subviews method, calling -hitTest: on each until one returns a hit (i.e. non-nil). So, you might try overriding -hitTest: for the superview and implementing the logic you prefer.
Regards,
Ken
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden