我有一个设置为“阴影”的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);发布于 2012-03-05 07:13:53
你有没有试过修改UIImageView的图层,使其具有阴影,而不是拥有两个视图?
如果这不能给出想要的输出,那么黑色的UIView能工作吗?如果你发布截图和想要的效果,也许我可以提供更多的帮助。
发布于 2012-03-05 08:03:22
我不认为这是可能的,你正在尝试使用内置的影子设施。正如您已经发现的,为了让Quartz有一个自动阴影的轮廓,必须绘制一些东西。(在本例中,它是视图的背景圆角。)
如果你为阴影视图的层指定了一个显式的圆角shadowPath,那么就不需要视图实际绘制任何东西了。但是,阴影本身似乎是通过填充阴影路径,然后模糊和平移生成的图像来构建的,因此您最终将获得与视图的黑色背景基本上相同的效果。
我同意Ryan Oksenhorn的观点,你最好使用图像视图本身。如果你在那里添加一个阴影,它的不透明度将随着视图的降低而下降,但这可能是更好的。你真的想淡化图像,留下一个无实体的阴影吗?
发布于 2012-03-05 08:28:44
不如你来设置
shadow.backgroundColor = [UIColor blackColor];
shadow.alpha = 1.0;https://stackoverflow.com/questions/9559521
复制相似问题