-
先看效果:
部分圓角.gif
由于項目需求,需要實現(xiàn)部分圓角,開始沒想那么多,直接在GitHub上找了一個SKArchCutter,圓角效果是能出來的,但是我發(fā)現(xiàn)我
btn的背景顏色存在問題,這下就只有自己再研究下了。
- 實現(xiàn)代碼:
/**
按鈕的圓角設(shè)置
@param view view類控件
@param rectCorner UIRectCorner要切除的圓角
@param borderColor 邊框顏色
@param borderWidth 邊框?qū)挾? @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];
}
- 至于怎么使用,相信大家一看也就明白了,傳參數(shù)上比較重要的就是
rectCorner了,他是UIRectCorner的枚舉,跟進去看一下就明白怎么回事了。寫得比較片面,有更好的方法也請指正。
