扫码关注官方订阅号
一个imageview需要阴影,但阴影效果比较特殊,所以要用一张黑色图片做阴影,想用一个layer加阴影图片,然后插入imageview里面,可是layer加图片没反应。求思路,谢谢
ringa_lee
没看懂你的需求, 就我的理解给点伪代码,
CALayer *layer = [CALayer layer]; layer.contens = [UIImage imageNamed:xxx].CGImage; layer.shadowPath = [UIBezierPath pathWithCGRect:xxx].CGPath; layer.shadowColor = ...; [self.layer addSubLayer:layer];
不要用UIImageView.image 去设置image 而要用这种方式
是不是你的 Layer 比上层的 Layer 小或者一样大,所以边界无法显示。。
可以看下这篇文章:CALayers 教程:初步认识 CALayer 学习一下 CALayer 的基本用法。
如果想用图片做阴影,完全不用写代码,可以放个 UIImage 在下面。。用 autolayout 设置 frame 比 content 大一圈即可。CALayer 同理,但是需要代码实现了。
我的没问题,你是这样写的?
UIImage *image = [UIImage imageNamed:@"background"]; self.view.layer.contents = (id) image.CGImage;
如果你说黑色阴影是一张图片,那么直接用UIImageView直接叠加上去就好。 没有必要用到CALayer。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
没看懂你的需求,
就我的理解给点伪代码,
不要用UIImageView.image 去设置image
而要用这种方式
是不是你的 Layer 比上层的 Layer 小或者一样大,所以边界无法显示。。
可以看下这篇文章:CALayers 教程:初步认识 CALayer 学习一下 CALayer 的基本用法。
如果想用图片做阴影,完全不用写代码,可以放个 UIImage 在下面。。用 autolayout 设置 frame 比 content 大一圈即可。CALayer 同理,但是需要代码实现了。
我的没问题,你是这样写的?
如果你说黑色阴影是一张图片,那么直接用UIImageView直接叠加上去就好。
没有必要用到CALayer。