创建阴影视图

时间:2012-03-04 22:40:59

标签: iphone objective-c ios ipad uiview

我将UIView设置为“shadow”,我将此视图放在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);

3 个答案:

答案 0 :(得分:2)

您是否尝试修改UIImageView的图层以获得阴影,而不是拥有两个视图?

如果没有提供所需的输出,黑色UIView是否有效?如果您发布截图和所需的效果,也许我可以提供更多帮助。

答案 1 :(得分:0)

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

如果为阴影视图的图层指定了显式的圆形阴影路径,那么将取消视图实际绘制任何内容的需要。但是,阴影本身似乎是通过填充阴影路径然后模糊和翻译生成的图像来构建的,因此您最终会得到与视图的黑色背景基本相同的效果。

我同意Ryan Oksenhorn的说法,你最好不要使用图像视图本身。如果你在那里添加一个阴影,它的不透明度会随着视图的下降而下降,但这可能会更好。你真的想淡化图像并留下一个无形的阴影吗?

答案 2 :(得分:0)

你如何设置

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