美文网首页
解决UIView的圆角和阴影不能同时设置

解决UIView的圆角和阴影不能同时设置

作者: 汗青fullstack | 来源:发表于2020-10-22 11:18 被阅读0次

UIView的圆角和阴影不能同时设置,所以给原来的view添加一个shadow container view。
问题原因:由于设置阴影需要masksToBounds设置为NO,而设置圆角需要masksToBounds为YES,有冲突。

/**
 *  周边加阴影,并且同时圆角
 */
+ (UIView *)addShadowToView:(UIView *)view withOpacity:(float)shadowOpacity shadowRadius:(CGFloat)shadowRadius andCornerRadius:(CGFloat)cornerRadius {
    view.layer.cornerRadius = cornerRadius;
    view.layer.masksToBounds = YES;
    UIView *shadowView = [[UIView alloc] init];
    shadowView.layer.shadowColor = [UIColor blackColor].CGColor;
    shadowView.layer.shadowOffset = CGSizeMake(0,2);
    shadowView.layer.shadowOpacity = shadowOpacity;
    shadowView.layer.shadowRadius = shadowRadius;
    shadowView.layer.cornerRadius = cornerRadius;
    shadowView.clipsToBounds = NO;
    [shadowView addSubview:view];
    return shadowView;
}

执行效果:


image.png

相关文章

网友评论

      本文标题:解决UIView的圆角和阴影不能同时设置

      本文链接:https://www.haomeiwen.com/subject/tkuumktx.html