美文网首页
解决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