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