NSView 图层阴影绘制在子视图上,而不是视图本身
NSView layer shadow draws on subviews, not view itself
我正在尝试在 NSView
的 layer
上设置阴影,但是图层是在我的视图的子视图上绘制的,而不是视图本身。是什么原因造成的?
有问题的视图及其所有子视图都是图层支持的。除了一个子视图外,所有子视图都是带有图像的按钮 (NSButton
) - 另一个是通过 drawRect:
.
呈现的自定义视图
self.layer.shadowColor = [[NSColor blackColor] colorWithAlphaComponent:0.9].CGColor;
self.layer.shadowRadius = 2;
self.layer.shadowOffset = NSMakeSize(0, -1);
self.layer.shadowOpacity = 0.9;
我也尝试通过 NSShadow
设置阴影,结果相同。
事实证明,如果您在 NSView
的 layer
上设置阴影,它只会在该视图具有 drawRect:
实现绘制非-透明的。否则它会利用所有视图的子视图。
奇怪。
我正在尝试在 NSView
的 layer
上设置阴影,但是图层是在我的视图的子视图上绘制的,而不是视图本身。是什么原因造成的?
有问题的视图及其所有子视图都是图层支持的。除了一个子视图外,所有子视图都是带有图像的按钮 (NSButton
) - 另一个是通过 drawRect:
.
self.layer.shadowColor = [[NSColor blackColor] colorWithAlphaComponent:0.9].CGColor;
self.layer.shadowRadius = 2;
self.layer.shadowOffset = NSMakeSize(0, -1);
self.layer.shadowOpacity = 0.9;
我也尝试通过 NSShadow
设置阴影,结果相同。
事实证明,如果您在 NSView
的 layer
上设置阴影,它只会在该视图具有 drawRect:
实现绘制非-透明的。否则它会利用所有视图的子视图。
奇怪。