【问题标题】:NSView layer shadow draws on subviews, not view itselfNSView 图层阴影绘制在子视图上,而不是视图本身
【发布时间】:2016-06-07 17:05:24
【问题描述】:

我正在尝试在NSViewlayer 上设置阴影,但该图层是在我的视图的子视图上绘制的,而不是视图本身。这可能是什么原因造成的?

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

【问题讨论】:

    标签: cocoa calayer nsview shadow


    【解决方案1】:

    事实证明,如果您在 NSViewlayer 上设置阴影,则仅当视图具有绘制不透明内容的 drawRect: 实现时,它才会在该视图上绘制。否则它会绘制所有视图的子视图。

    很奇怪。

    【讨论】:

      猜你喜欢
      • 2021-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      相关资源
      最近更新 更多