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 圆角View设置阴影效果)