| // | 
| //  JHPieItemsView.m | 
| //  JHCALayer | 
| // | 
| //  Created by cjatech-简豪 on 16/4/28. | 
| //  Copyright © 2016年 JH. All rights reserved. | 
| // | 
|   | 
| #import "JHPieItemsView.h" | 
| @interface JHPieItemsView () | 
|   | 
| @property (nonatomic,assign) CGFloat beginAngle; | 
| @property (nonatomic,assign) CGFloat endAngle; | 
| @property (nonatomic,strong) UIColor * fillColor; | 
| @property (nonatomic,strong) CAShapeLayer * shapeLayer; | 
| @end | 
| @implementation JHPieItemsView | 
| -(JHPieItemsView *)initWithFrame:(CGRect)frame andBeginAngle:(CGFloat)beginAngle andEndAngle:(CGFloat)endAngle andFillColor:(UIColor *)fillColor{ | 
|      | 
|     if (self = [super initWithFrame:frame]) { | 
|          | 
|          | 
|         _beginAngle = beginAngle; | 
|         _endAngle = endAngle; | 
|         _fillColor = fillColor; | 
|          | 
|         [self configBaseLayer]; | 
|          | 
|     } | 
|      | 
|     return self; | 
|      | 
|      | 
|      | 
| } | 
|   | 
| - (void)configBaseLayer{ | 
|     _shapeLayer = [CAShapeLayer layer]; | 
|   | 
|     UIBezierPath *path = [UIBezierPath bezierPath]; | 
|      | 
|     [path addArcWithCenter:CGPointMake(self.frame.size.width/2, self.frame.size.height/2) radius:self.frame.size.width/2 startAngle:_beginAngle endAngle:_endAngle clockwise:YES]; | 
|      | 
|     _shapeLayer.path = path.CGPath; | 
|     _shapeLayer.lineWidth = self.frame.size.width; | 
|     _shapeLayer.strokeColor = _fillColor.CGColor; | 
|     _shapeLayer.fillColor = [UIColor clearColor].CGColor; | 
|   | 
|      | 
|     [self.layer addSublayer:_shapeLayer]; | 
|      | 
|     CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"strokeEnd"]; | 
|     basic.duration = 1.1; | 
|     basic.fromValue = @(0.1f); | 
|     basic.toValue = @(1.0f); | 
|     [_shapeLayer addAnimation:basic forKey:@"basic"]; | 
|      | 
|      | 
| } | 
|   | 
|   | 
|   | 
| -(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ | 
|     NSLog(@"touch%ld",self.tag); | 
|      | 
| } | 
|   | 
| @end |