iOS UIView的圆角加阴影效果的实现
2017-09-11 22:30
1336 查看
最近项目的界面都要改成卡片的形式,即需要投影的效果,还要削出圆角,我们都知道削圆角一般有两种方式,一种是直接用layer.cornerRadius来设置,我们知道的一般都是下面两行代码一起使用来实现圆角:
但是只要self.layer.masksToBounds=YES;有这句,投影的效果就出不来。
还有一种性能比较好的圆角设置方式,就是用UIBezierPath来设置,我试过用这个来设置圆角的话,投影一样也出不来。
还有在网上看到了加一层layer的,大体思路就是self.layer来设置圆角,新写一个layer来设置投影,然后把layer放到self.layer上,我试了之后发现没什么效果,而且偏移会很明显的看出来,但不是以投影的方式出现。
然后又找到了一篇文章,给出的方法代码如下:
这个是我整理之后的写了个投影的view类,方便使用,核心就是注释着这行去掉的这个,当时看的时候,觉得有点不敢相信,但是那个博主给了投影效果,我就抱着试一下的心态写了,没想到还真的可以。。。
效果如图:
真的是万万没想到啊,万分感谢那篇文章的博主啊~~
附上原博主的文章链接:IOS view的圆角和阴影并存
self.layer.cornerRadius = 10; self.layer.masksToBounds=YES;
但是只要self.layer.masksToBounds=YES;有这句,投影的效果就出不来。
还有一种性能比较好的圆角设置方式,就是用UIBezierPath来设置,我试过用这个来设置圆角的话,投影一样也出不来。
还有在网上看到了加一层layer的,大体思路就是self.layer来设置圆角,新写一个layer来设置投影,然后把layer放到self.layer上,我试了之后发现没什么效果,而且偏移会很明显的看出来,但不是以投影的方式出现。
然后又找到了一篇文章,给出的方法代码如下:
@implementation TPShadowView -(instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { self.backgroundColor = kUIColorFromRGB(0x4b4773); //v.layer.masksToBounds=YES;这行去掉 self.layer.cornerRadius = 10; self.layer.shadowColor = kUIColorFromRGB1(0x000000, 1).CGColor; self.layer.shadowOffset = CGSizeMake(2, 5); self.layer.shadowOpacity = 0.5; self.layer.shadowRadius = 5; } return self; }
这个是我整理之后的写了个投影的view类,方便使用,核心就是注释着这行去掉的这个,当时看的时候,觉得有点不敢相信,但是那个博主给了投影效果,我就抱着试一下的心态写了,没想到还真的可以。。。
效果如图:
真的是万万没想到啊,万分感谢那篇文章的博主啊~~
附上原博主的文章链接:IOS view的圆角和阴影并存
相关文章推荐
- iphone ios uiview uilabel 边框,圆角,阴影实现
- iphone ios uiview uilabel 边框,圆角,阴影实现
- iOS下按钮同时实现圆角与阴影效果
- iphone ios uiview uilabel 边框,圆角,阴影实现
- iOS Object-C 实现 圆角、阴影、毛玻璃效果
- iOS下按钮同时实现圆角与阴影效果
- IOS--UIView 视觉效果:圆角、阴影、边框、渐变光泽
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS UIView圆角,阴影,边框,渐增光泽
- iOS开发-UIView之动画效果的实现方法(合集)
- CSS3实现圆角、阴影、透明效果并兼容各大浏览器
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS CALayer,图片圆角阴影效果
- IOS开发之UIView动画效果的实现
- css技巧:实现圆角、阴影、透明效果
- IOS开发-UIView之动画效果的实现方法(合集)
- IOS_视图实现圆角效果的三种方法及比较
- IOS开发-UIView之动画效果的实现方法
- iOS 视图实现圆角效果的三种方法及比较