Добавление тени в NSImageView

У меня есть NSImageView и хочу добавить тень. Я попытался сделать это программно с:

NSShadow *shadow = [[[NSShadow alloc] init] autorelease];
[shadow setShadowBlurRadius:4.0f];
[shadow setShadowOffset:CGSizeMake(4.0f, 4.0f)];
[shadow setShadowColor:[NSColor blackColor]];

[view setShadow:shadow];

Но это не появится. Есть идеи? Благодарю.

2 ответа

Решение

Вы должны установить параметры тени. По умолчанию это все нули, поэтому он не оказывает видимого влияния на представление.

Увидеть -setShadowColor:, -setShadowRadius:, а также -setShadowOffset: на NSShadow, Я верю.

Swift 4

let shadow = NSShadow()
shadow.shadowOffset = NSMakeSize(2, -2)
shadow.shadowColor = NSColor.lightGray
shadow.shadowBlurRadius = 3

imageView.wantsLayer = true
imageView.shadow = shadow
Другие вопросы по тегам