I have a generic NSView that contains some subviews, and I'd like to add a background image. I tried code like this:

NSImage* backgroundImage = [NSImage imageNamed: @"blueprint controls.png"];
CALayer* holderLayer = [CALayer layer];
_throttleHolder.layer = holderLayer;
_throttleHolder.wantsLayer = YES;
holderLayer.zPosition = 4.0f;
holderLayer.contents = backgroundImage;
holderLayer.hidden = NO;
holderLayer.bounds = NSRectToCGRect( _throttleHolder.bounds );
[holderLayer setNeedsDisplay];

But no background image shows up.  On the other hand, if I add the line

holderLayer.backgroundColor = CGColorGetConstantColor( kCGColorWhite );

then I get a white background, so apparently the layer is there and capable of drawing. And yes, I have made sure that backgroundImage is not nil.

At this point, it probably would have been quicker to just go ahead and subclass NSView, but I'm curious about what dumb mistake I'm making.
_______________________________________________

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

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

Reply via email to