如何向UIButton添加投影? [英] How to add a drop shadow to a UIButton?
问题描述
我想在UIButton中添加一个投影。我尝试使用self.layer.shadow *属性。这些属性在UIView中有效,但它们在UIButton中的表现不同。如果我能得到任何指针来绘制投影,我将非常感激。谢谢!
I would like to add a drop shadow to a UIButton. I tried to use self.layer.shadow* properties. Those properties work in UIView, but they behave differently in UIButton. I would really appreciate it if I could get any pointers to draw the drop shadow. Thank you!
self.layer.cornerRadius = 8.0f;
self.layer.masksToBounds = YES;
self.layer.borderWidth = 1.0f;
self.layer.shadowColor = [UIColor greenColor].CGColor;
self.layer.shadowOpacity = 0.8;
self.layer.shadowRadius = 12;
self.layer.shadowOffset = CGSizeMake(12.0f, 12.0f);
推荐答案
问题中只有一个小错误导致阴影不显示: masksToBounds:YES
也掩盖阴影!这是正确的代码:
There is only one tiny mistake in the question that causes the shadow to not be displayed: masksToBounds:YES
also masks the shadow! Here's the correct code:
self.layer.cornerRadius = 8.0f;
self.layer.masksToBounds = NO;
self.layer.borderWidth = 1.0f;
self.layer.shadowColor = [UIColor greenColor].CGColor;
self.layer.shadowOpacity = 0.8;
self.layer.shadowRadius = 12;
self.layer.shadowOffset = CGSizeMake(12.0f, 12.0f);
不幸的是,这意味着我们无法在没有技巧的情况下屏蔽内容并同时拥有阴影。
Unfortunately, this means we cannot mask the content and have a shadow at the same time without tricks.
请记住 #import< QuartzCore / QuartzCore.h>
。
这篇关于如何向UIButton添加投影?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!