Adding a Shadow to a NSImageView
I have a NSImageView
and want to add a shadow. I've tried doing it programmatically with:
NSShadow *shadow = [[[NSShadow alloc] init] autorelease];
[shadow setShadowBlurRadius:4.0f];
[shadow setShadowOffset:CGSizeMake(4.0f, 4.0f)];
[shadow setShadowColor:[NSColor blackColor]];
[view setShadow:shad开发者_如何学Cow];
But it won't appear. Any ideas? Thanks.
You have to set the parameters of the shadow. By default, it's all zeroes, so it has no visible effect on a view.
See -setShadowColor:
, -setShadowRadius:
, and -setShadowOffset:
on NSShadow
, I believe.
Swift 4
let shadow = NSShadow()
shadow.shadowOffset = NSMakeSize(2, -2)
shadow.shadowColor = NSColor.lightGray
shadow.shadowBlurRadius = 3
imageView.wantsLayer = true
imageView.shadow = shadow
精彩评论