Objectivec将阴影设置为父视图

use*_*609 0 objective-c

我想将阴影设置为父视图.但我希望儿童观点保持不变.

我现在做的是

parentView.layer.shadowRadius = 0.8;
parentView.layer.shadowOpacity = 0.3;
parentView.layer.shadowOffset = CGSizeMake(1.0, 1.4);
Run Code Online (Sandbox Code Playgroud)

但是,如果我这样做,子视图也会更改.有没有办法设置阴影但保持子视图相同.

谢谢

NKo*_*kov 9

您的parentView是否透明?我已经设置了一个简单的项目并使用了你的代码.我已经改变了一些值来看到一个更好的阴影.这是它的样子:

在此输入图像描述

如您所见 - 子视图中没有阴影.parentView的背景颜色设置为白色.当我将其设置为清除颜色时,就会发生这种情况.我添加了边框以证明parentView仍然存在:

在此输入图像描述

Apple Docs证明了这一点:

图A-7显示了应用了红色阴影的同一样本图层的几个不同版本.左侧和中间版本包含背景颜色,因此阴影仅出现在图层的边框周围.但是,右侧的版本不包含背景颜色.在这种情况下,阴影将应用于图层的内容,边框和子图层.

在此输入图像描述