-
先看效果:
由于项目需求,需要实现部分圆角,开始没想那么多,直接在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的枚举,跟进去看一下就明白怎么回事了。写得比较片面,有更好的方法也请指正。