IOS 圆角View设置阴影效果

一般情况下我们知道,设置阴影效果只需要三行代码即可:

 _userIconButton.layer.shadowColor = [UIColor redColor].CGColor;

 _userIconButton.layer.shadowOffset = CGSizeMake(5.0, 5.0);

_userIconButton.layer.shadowOpacity = YES;

但是需要设置layer的setMasksToBounds和clipsToBounds为NO,如果我们要裁剪View的显示效果,那么上面的方法是失效了。

既然shadow效果时UIView上面有的属性,那么我们也就可以直接给显示的是图上面增加一个带阴影效果的UIView

UIView * shadow = [[UIView alloc] initWithFrame: _userIconButton.frame];

_userIconButton.frame = CGRectMake(0,0,_userIconButton.frame.size.width, _userIconButton.frame.size.height);

// setup shadow layer and corner

shadow.layer.shadowColor = [UIColor blackColor].CGColor;

shadow.layer.shadowOffset = CGSizeMake(5, 5);

shadow.layer.shadowOpacity = 1;

/*若设置该部分和_userIconButton的Radius一样大,则阴影效果是沿着控件一圈显示*/

shadow.layer.shadowRadius = 9.0;  

shadow.layer.cornerRadius = 9.0;

shadow.clipsToBounds = NO;

// combine the views

[shadow addSubview: _userIconButton];

这样即可显示出阴影效果。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥ios动画全貌。在这里你可以看...
    每天刷两次牙阅读 12,713评论 6 30
  • 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌。在这里你可以看...
    F麦子阅读 10,526评论 5 13
  • 转载:http://www.jianshu.com/p/32fcadd12108 每个UIView有一个伙伴称为l...
    F麦子阅读 11,489评论 0 13
  • 最近在项目中遇到要给一个圆形imgeView的底部增加一圈阴影,刚开始这样写是没有出现阴影效果的,下面附上代码: ...
    我叫王可可阅读 36,686评论 10 33
  • Core Animation是一个复合引擎,它的职责就是尽可能快地组合屏幕上不同的可视内容,这个内容是被分解成独立...
    abb266389fd0阅读 4,771评论 2 17