UIView *view2 = [[UIView alloc] initWithFrame:CGRectMake(120, 10, 80, 80)]; view2.backgroundColor = [UIColor redColor]; [self.view addSubview:view2]; UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:view2.bounds byRoundingCorners:UIRectCornerBottomLeft | UIRectCornerBottomRight cornerRadii:CGSizeMake(10, 10)]; CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; maskLayer.frame = view2.bounds; maskLayer.path = maskPath.CGPath; view2.layer.mask = maskLayer;
CAShapeLayer *layer = [CAShapeLayer layer]; layer.fillColor = [[UIColor clearColor] CGColor]; layer.strokeColor = [[UIColor greenColor] CGColor]; // layer.backgroundColor = [[UIColor clearColor] CGColor]; layer.lineJoin = kCALineJoinRound; layer.lineCap = kCALineCapRound; layer.frame = self.view.bounds; layer.lineWidth = 100.0f; //layer.strokeColor = [UIColor redColor].CGColor; //[self.view.layer addSublayer:layer]; //CAGradientLayer //layer.masksToBounds = YES; //CAGradientLayer *gLayer = [CAGradientLayer layer]; CAGradientLayer *topLayer = [[CAGradientLayer alloc] init]; topLayer.startPoint = CGPointMake(0.0, 1); topLayer.endPoint = CGPointMake(0.0f, 0.0f); topLayer.colors = @[(id)[UIColor colorWithRed:1 green:0 blue:0 alpha:1 ].CGColor,(id)[UIColor colorWithRed:0 green:0 blue:1 alpha:1].CGColor]; topLayer.frame = self.view.bounds; UIBezierPath *path = [UIBezierPath bezierPath]; [path addArcWithCenter:self.view.center radius:160 startAngle:M_PI/2 endAngle:M_PI*2 clockwise:YES]; // [path moveToPoint:CGPointMake(10, 100)]; // [path addLineToPoint:CGPointMake(100, 200)]; // [path addLineToPoint:CGPointMake(200, 50)]; // [path addLineToPoint:CGPointMake(240, 150)]; // [path addLineToPoint:CGPointMake(300, 120)]; //gLayer. // 关联layer和贝塞尔路径~ layer.path = path.CGPath; //[layer addSublayer:topLayer]; topLayer.mask = layer; [self.view.layer addSublayer:topLayer]; layer.strokeEnd = 0.7; //[self.view.layer addSublayer:layer];