UIView阴影不起作用

Anb*_*Raj 21 iphone objective-c ios ios5

这是我的代码.

listView.layer.masksToBounds = NO;
listView.layer.shadowOffset = CGSizeMake(-3, 3);
listView.layer.shadowColor=[[UIColor blackColor] CGColor];
listView.layer.shadowRadius = 4;
listView.layer.shadowOpacity = 1.0;
[listView.layer setShouldRasterize:YES];
Run Code Online (Sandbox Code Playgroud)

它与阴影效果很好.

改变的同时

listView.layer.masksToBounds = YES;
Run Code Online (Sandbox Code Playgroud)

我没有阴影效果.

bba*_*art 33

阴影实际上是在UIView下方绘制的.如果将maskToBounds设置为YES,则会剪切UIView框架之外的任何图形. 这是一个SO链接,更详细地描述了这一点.


Hec*_*tor 22

阴影被绘制在图层边界之外.你必须设置listView.layer.masksToBounds = NO看阴影

如果你设置listView.layer.masksToBounds = YES你不能画出边界的任何东西,所以你不能得到阴影