On Oct 30, 2011, at 12:46 PM, Alexander Reichstadt wrote:

> given a custom NSView using drawRect to draw, say, a blue rectangle, controls 
> inside that view are always in front of the blue rectangle. Is there a way to 
> draw above controls with drawRect? Also putting a view with controls inside 
> another view that draw in drawRect doesn't change that. Like textfields, they 
> are always above drawn content. How does one draw above controls?

Subviews are always drawn after their superview, so they are visually in front 
of it. You can’t change that.
What you can try is adding a subview, positioning it over the control, and 
putting it in front (I think that means later in the subviews array.) 
Historically AppKit hasn’t handled overlapping sibling views, but I think that 
nowadays if you make the parent view layer-backed it will work. (But 
layer-backing views brings its own visual issues, so this may not work out for 
you.)

Another approach is to subclass the control (or its cell class) and customize 
its drawing.

—Jens

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to