遇到一个项目,要实现四周阴影,想要实现阴影,肯定是要用到layer的。
错误思维:我以为用一个layer是实现不了的,所以,我开始是使用两个layer,甚至四个layer来实现的,后来,我发现了并不需要这么做。
首先必不可少的代码如下:
red.layer.shadowOffset = CGSizeZero;//默认为0,-3
red.layer.shadowColor = [UIColor redColor].CGColor;
red.layer.shadowOpacity = 0.8;//阴影透明度,默认0
开始我先写了一个layer,其中设置偏移量如下
image.png
layer.shadowOffset = CGSizeMake(10, 10);
一般来说,应该是阴影向右,向下各偏移10dp,也就是20个px(我使用的5s模拟器)。但是结果发现,偏移了不只20px:
这个时候我就思考了,是不是可以用一个layer就可以实现四周都有阴影呢,所以就设置偏移量为0
layer.shadowOffset = CGSizeZero;
结果呢,果然不出所料:
image.png
果然是四个方向都有阴影了。
结论:
使用一个layer即可简单的实现四周阴影
网友评论