简单地说,我有一个NSView
带有一堆子视图。在awakeFromNib
方法中(在视图的控制器内),我决定添加以下内容:
[_backgroundImageView setWantsLayer:YES];
[[_backgroundImageView layer] setShadowOpacity:1.0f];
[[_backgroundImageView layer] setShadowOffset:NSMakeSize(-3, -3)];
backgroundImageView位于所有子视图的后面。但是,当我添加前面的代码时,它会正确绘制阴影,但也会将backgroundImageView绘制在所有其他图层之上。为什么?我该如何解决这个问题?
答案 0 :(得分:6)
在超级视图的代码中使用界面构建器(或仅setWantsLayer:
)。
我在Xcode中打开了nib文件,并使用了imageView的图层属性。 转出来我也应该为superview启用图层(self.view)。不仅如此,我还应该收紧imageView的框架,否则即使将其设置为“比例向上或向下”,它也将被“缩放为”轴。
...和平