@interface CcorView ()
@property (nonatomic, strong) CAGradientLayer *gradientLayer;
@property (nonatomic, strong) UIBezierPath *maskPath;
@property (nonatomic, strong) CAShapeLayer *maskLayer;
@property (nonatomic, strong) CAShapeLayer *maskLayer2;
@end
@implementation CcorView
- (instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame: frame];
if(self) {
[self setupUI];
}
return self;
}
- (void)setupUI {
self.gradientLayer = [CAGradientLayer new];
self.gradientLayer.startPoint = CGPointMake(0, 0.5);
self.gradientLayer.endPoint = CGPointMake(1, 0.5);
self.gradientLayer.frame = self.bounds;
self.maskLayer = [[CAShapeLayer alloc] init];
self.maskLayer.frame = self.bounds;
UIRectCorner corner = UIRectCornerTopRight | UIRectCornerBottomLeft | UIRectCornerBottomRight;
self.gradientLayer.colors = @[(__bridge id)HB_RGBACOLOR(205, 200, 218, 1).CGColor, (__bridge id)HB_RGBACOLOR(255, 240, 218, 0).CGColor];
UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:self.bounds byRoundingCorners:corner cornerRadii:CGSizeMake(12, 12)];
self.maskLayer.path = maskPath.CGPath;
self.gradientLayer.mask = self.maskLayer;
self.maskLayer2 = [[CAShapeLayer alloc] init];
self.maskLayer2.frame = self.bounds;
self.maskLayer2.path = maskPath.CGPath;
self.maskLayer2.lineWidth = 1;
self.maskLayer2.fillColor = UIColor.clearColor.CGColor;
self.maskLayer2.strokeColor = UIColor.blackColor.CGColor;
[self.layer addSublayer:self.gradientLayer];
[self.layer addSublayer:self.maskLayer2];
}
@end
image.png