首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建阴影视图

创建阴影视图
EN

Stack Overflow用户
提问于 2012-03-05 06:40:59
回答 3查看 310关注 0票数 0

我有一个设置为“阴影”的UIView,我把这个视图放在UIImageView后面来创建一个阴影效果。唯一的问题是,如果您降低图像的alpha,您可以看到UIView的白色部分。如何隐藏除阴影之外的整个UIView?将backgroundColor设置为clearColor会同时隐藏视图和阴影,这无济于事。谢谢。

代码语言:javascript
复制
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);
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-05 07:13:53

你有没有试过修改UIImageView的图层,使其具有阴影,而不是拥有两个视图?

如果这不能给出想要的输出,那么黑色的UIView能工作吗?如果你发布截图和想要的效果,也许我可以提供更多的帮助。

票数 2
EN

Stack Overflow用户

发布于 2012-03-05 08:03:22

我不认为这是可能的,你正在尝试使用内置的影子设施。正如您已经发现的,为了让Quartz有一个自动阴影的轮廓,必须绘制一些东西。(在本例中,它是视图的背景圆角。)

如果你为阴影视图的层指定了一个显式的圆角shadowPath,那么就不需要视图实际绘制任何东西了。但是,阴影本身似乎是通过填充阴影路径,然后模糊和平移生成的图像来构建的,因此您最终将获得与视图的黑色背景基本上相同的效果。

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

票数 0
EN

Stack Overflow用户

发布于 2012-03-05 08:28:44

不如你来设置

代码语言:javascript
复制
shadow.backgroundColor = [UIColor blackColor];
shadow.alpha = 1.0;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9559521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档