You're probably filling your gradient into the rect passed in drawRect.

That rectangle just represents the dirty part of your view. If you had a solid color to draw, you could just fill the rect, but with a gradient you will get your gradient, top to bottom, within this possibly small rect within your view.

Try drawing the gradient into [self bounds] instead. This describes the location of the entire view in its own coordinate system.

-Ken

On Jun 10, 2008, at 8:51 AM, Jonathan Dann <[EMAIL PROTECTED]> wrote:

Hi All,

This is something that I haven't seen before. I have a custom view that inherits from NSView directly and just draws a gradient background. In IB I've placed an NSSlider on the view which works fine. The problem comes when drawRect in my custom view is invoked, I draw the gradient and a 1px line at the top of the view, but the line also gets draw just above the NSSlider! logging shows the following

1) resize window - drawRect is called and the line above the slider disappears 2) move slider - drawRect is called from my gradient view but with the frame of the slider. The line then appears.

Is this a known issue with NSSlider and a custom view or have I missed an idiosyncracy of NSControls.

Thanks in adavnce,

Jonathan
_______________________________________________

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/kenferry%40gmail.com

This email sent to [EMAIL PROTECTED]
_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to