1、最常見的設置圓角的方法無非就是系統的那兩句代碼
centerView.layer.cornerRadius = 5;
centerView.layer.masksToBounds = YES;
2、那麼問題來了,如何設置指定圓角位置呢?比如設置右邊上下兩個圓角?先圖再真相
封裝後的方法如下:
/*
originalView:要修改圓角的view
corners:要修改的圓角取或
UIRectCornerTopLeft = 1 << 0,
UIRectCornerTopRight = 1 << 1,
UIRectCornerBottomLeft = 1 << 2,
UIRectCornerBottomRight = 1 << 3,
UIRectCornerAllCorners = ~0UL
size:設置的圓角尺寸
return :返回的是蒙板層mask、CAShapeLayer對象、
*/
- (CAShapeLayer *)getCornerRoundWithSelfView:(UIView *)originalView byRoundingCorners:(UIRectCorner)corners cornerRadii:(CGSize)size{
//繪製左上和左下圓角
UIBezierPath*maskPath=[UIBezierPath bezierPathWithRoundedRect:originalView.bounds byRoundingCorners:corners cornerRadii:size];
CAShapeLayer *maskLayer = [[CAShapeLayeralloc]init];
maskLayer.frame = originalView.bounds;
maskLayer.path = maskPath.CGPath;
return maskLayer;
}
使用方法
toolLab.layer.mask = [self getCornerRoundWithSelfView:toolLab byRoundingCorners:UIRectCornerTopRight | UIRectCornerBottomRight cornerRadii:CGSizeMake(5,5)];