2012-03-04 63 views
0

我有一个UIView设置为“阴影”,我把这个视图放在UIImageView背后创建一个阴影效果。唯一的问题是,如果你减少图像的alpha,你可以看到UIView的白色部分。除了阴影,我如何隐藏整个UIView?将backgroundColor设置为clearColor可隐藏视图和阴影,这无济于事。谢谢。创建一个阴影视图

shadow.alpha = 0.95; 
shadow.layer.cornerRadius = 10; 
shadow.layer.shadowColor = [UIColor blackColor].CGColor; 
shadow.layer.shadowOpacity = 1.0; 
shadow.layer.shadowRadius = 10.0; 
shadow.layer.shadowOffset = CGSizeMake(0, 4); 
+0

谢谢你非常非常........此代码帮我做的一抹。 – 2012-06-19 08:19:58

回答

2

您是否尝试过修改UIImageView的图层而不是有两个视图?

如果没有给出所需的输出,黑色UIView是否工作?如果你张贴截图和期望的效果,也许我可以得到更多的帮助。

+1

我接受了你的建议,找出了错误,并以此方式工作。谢谢你的帮助! – 2012-03-05 05:07:48

0

我不认为有可能做你正在尝试使用内置阴影设施。正如你发现的那样,为了使Quartz有一个自动阴影轮廓,必须绘制一些东西。 (在这种情况下,它是视图的背景圆形)。

如果您为阴影视图的图层指定了显式的roundrect shadowPath,那么将取消视图实际绘制任何内容的需要。然而,阴影本身似乎是通过填充阴影路径,然后模糊和平移结果图像来构建的,所以您最终会得到与视图的黑色背景基本相同的效果。

我同意瑞恩Oksenhorn,你会更好的工作与图像视图本身。如果你在那里添加一个影子,它的不透明度会随着视图而下降,但这可能会更好。你真的想淡化这个形象,并留下一个无形的影子吗?

0

你怎么样设置

shadow.backgroundColor = [UIColor blackColor]; 
shadow.alpha = 1.0;