2012-05-15 37 views
4

我想添加一个阴影到UIButton层,但由于某种原因,它切断了按钮的边界。我设置clipsToBounds是关闭的,所以我不知道为什么它看起来像这样:UIButton阴影看起来不对

enter image description here

这方,就是这样,即使影子不应该是squared..it应该柔软,衰退。

button.clipsToBounds = NO; 
button.layer.masksToBounds = NO; 
button.layer.shadowOffset = CGSizeZero; 
button.layer.shadowPath = [UIBezierPath bezierPathWithRect:button.layer.bounds].CGPath; 
button.layer.shadowOpacity = 0.7; 
button.layer.shadowColor = [UIColor blackColor].CGColor; 
button.layer.shadowRadius = 10; 

我错过了什么?

哦,我的按钮是UIButton的一个子类。我不知道这是否有所作为。 - 即使有0.0的shadowRadius,我也会得到一个完全可见的黑色方块作为我的影子

+0

您粘贴代码似乎确定的工作5.1见:http://imageshack.us/photo/my-images/36/zrzutekranu20120515o170.png/所以这个问题可能在其他地方 –

+0

谢谢,这对我有帮助 –

回答

3

clipsToBounds将允许任何子视图被绘制在按钮范围之外。

看起来它并不适用于您的层虽然:(

你可能只是让你的按钮有点大(或你的影子更小!)

+0

这不是我的选择。我真的需要它的工作目前的大小。我的按钮是UIButton的子类..做出不同的事情吗? – Snowman

+0

nope,根本没有区别!另一种解决方案是将另一个UIView添加到包含图像的按钮下面的影子? – deanWombourne

+0

但是必须有一个合法的原因,这是行不通的?我在这里做错了什么......这是奇怪的行为。 – Snowman