iOS 部分圆角的正确实现

作者: iOS_July | 来源:发表于2018-10-15 14:50 被阅读119次
    • 先看效果:


      部分圆角.gif

    由于项目需求,需要实现部分圆角,开始没想那么多,直接在GitHub上找了一个SKArchCutter,圆角效果是能出来的,但是我发现我btn的背景颜色存在问题,这下就只有自己再研究下了。

    • 实现代码:
    /**
     按钮的圆角设置
    
     @param view view类控件
     @param rectCorner UIRectCorner要切除的圆角
     @param borderColor 边框颜色
     @param borderWidth 边框宽度
     @param viewColor view类控件颜色
     */
    - (void)setupRoundedCornersWithView:(UIView *)view cutCorners:(UIRectCorner)rectCorner borderColor:(UIColor *)borderColor borderWidth:(CGFloat)borderWidth viewColor:(UIColor *)viewColor{
    
        CAShapeLayer *mask=[CAShapeLayer layer];
        UIBezierPath * path= [UIBezierPath bezierPathWithRoundedRect:view.bounds byRoundingCorners:rectCorner cornerRadii:CGSizeMake(15,10)];
        mask.path=path.CGPath;
        mask.frame=view.bounds;
    
    
        CAShapeLayer *borderLayer=[CAShapeLayer layer];
        borderLayer.path=path.CGPath;
        borderLayer.fillColor = [UIColor clearColor].CGColor;
        borderLayer.strokeColor = borderColor.CGColor;
        borderLayer.lineWidth = borderWidth;
        borderLayer.frame = view.bounds;
        view.layer.mask = mask;
        [view.layer addSublayer:borderLayer];
        
        
    }
    
    • 至于怎么使用,相信大家一看也就明白了,传参数上比较重要的就是rectCorner了,他是UIRectCorner的枚举,跟进去看一下就明白怎么回事了。写得比较片面,有更好的方法也请指正。

    相关文章

      网友评论

        本文标题:iOS 部分圆角的正确实现

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