给UIView添加圆角和边框
2019-10-11 本文已影响0人
叫我小黑
- (void)layerWithRadius:(CGFloat)radius corner:(UIRectCorner)corner borderWidth:(CGFloat)borderWidth borderColor:(UIColor *)borderColor
{
if (@available(iOS 11.0, *)) {
self.layer.cornerRadius = radius;
self.layer.maskedCorners = (CACornerMask)corner;
self.layer.borderWidth = borderWidth;
self.layer.borderColor = borderColor.CGColor;
} else {
//设置圆角
UIBezierPath * path = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(radius, radius)];
CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init];
maskLayer.frame = self.bounds;
maskLayer.path = path.CGPath;
self.layer.mask = maskLayer;
//设置边框
CAShapeLayer *borderLayer=[CAShapeLayer layer];
borderLayer.path= path.CGPath;
borderLayer.fillColor = [UIColor clearColor].CGColor;
borderLayer.strokeColor= borderColor.CGColor;
borderLayer.lineWidth= borderWidth;
borderLayer.frame=self.bounds;
[self.layer addSublayer:borderLayer];
}
}