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 protected]) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [email protected]
