NSView图层阴影绘制子视图,而不是视图本身

时间:2016-06-07 17:05:24

标签: cocoa calayer nsview shadow

我试图在layer的{​​{1}}上设置阴影,但是正在我的视图的子视图上绘制图层,而不是视图本身。可能导致这种情况的原因是什么?

有问题的视图及其所有子视图都是图层支持的。除了其中一个子视图外,所有子视图都是带图像的按钮(NSView) - 另一个是通过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; 设置阴影,结果相同。

1 个答案:

答案 0 :(得分:1)

事实证明,如果您在NSView的{​​{1}}上设置了阴影,则只有在视图具有layer实现时才会绘制该视图,该实现会绘制不透明的内容。否则它会绘制所有视图的子视图。

怪异。

相关问题