带有阴影的UIView

9

我正在尝试在一个UIViewController的视图中添加一个简单的UIView对象周围创建阴影。最直接的方法是什么?

2个回答

28

首先,确保导入了Quartz Core库:

#import <QuartzCore/QuartzCore.h>

接下来,添加以下行来设置阴影的属性:

someView.layer.shadowColor = [[UIColor blackColor] CGColor];
someView.layer.shadowOffset = CGSizeMake(10.0f,10.0f);
someView.layer.shadowOpacity = .5f;
someView.layer.shadowRadius = 10.0f;

请记住,如果你将该视图的 clipsToBounds 属性设置为 YES,则阴影将不会出现。


好的。谢谢!我尝试了那个方法,但是却不知道为什么它从未起作用,事实上问题出在 clipsToBounds 属性设为 YES 上。还有一个问题是,如果我想让阴影在 View 的四个边都显示怎么办?我认为这只能通过改变 shadowOffset 让你一次性拥有两个方向的阴影...不管怎样,再次感谢! - zumzum
1
如果偏移量和半径都是10,则阴影将隐藏在someView后面。如果您想要在someView的四个边上都有阴影,请将半径更改为大于偏移量(或将偏移量更改为0以在someView周围获得均匀阴影)。 - FuePi

3

我花了一些时间才弄清楚。代码工作得很好,但你需要导入Quartz。

#import <QuartzCore/QuartzCore.h>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接