diff --git a/ZFChartView/.DS_Store b/ZFChartView/.DS_Store index b8f6a4a..dac7241 100644 Binary files a/ZFChartView/.DS_Store and b/ZFChartView/.DS_Store differ diff --git a/ZFChartView/ZFChartView/ViewController/PieChartViewController.m b/ZFChartView/ZFChartView/ViewController/PieChartViewController.m index 6724e84..e0c347a 100644 --- a/ZFChartView/ZFChartView/ViewController/PieChartViewController.m +++ b/ZFChartView/ZFChartView/ViewController/PieChartViewController.m @@ -38,7 +38,7 @@ - (void)viewDidLoad{ self.pieChart = [[ZFPieChart alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, _height)]; self.pieChart.dataSource = self; self.pieChart.delegate = self; -// self.pieChart.piePatternType = kPieChartPatternTypeForCircle; + self.pieChart.piePatternType = kPieChartPatternTypeCircle; // self.pieChart.percentType = kPercentTypeInteger; // self.pieChart.isShadow = NO; // self.pieChart.isAnimated = NO; @@ -47,6 +47,9 @@ - (void)viewDidLoad{ } #pragma mark - ZFPieChartDataSource +- (NSArray *)titleArrayInPieChart:(ZFPieChart *)pieChart{ + return @[@"apple", @"suns", @"Mi", @"meizu", @"oppo", @"vivo"]; +} - (NSArray *)valueArrayInPieChart:(ZFPieChart *)chart{ return @[@"50", @"256", @"300", @"283", @"490", @"236"]; diff --git a/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.h b/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.h index c466bf6..35b1a16 100644 --- a/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.h +++ b/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.h @@ -28,6 +28,14 @@ */ - (NSArray *)colorArrayInPieChart:(ZFPieChart *)pieChart; +/** + * value标题 + * + * @return NSArray必须存储NSString类型 + */ + +- (NSArray *)titleArrayInPieChart:(ZFPieChart *)pieChart; + @end diff --git a/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.m b/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.m index d429841..1c3817b 100644 --- a/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.m +++ b/ZFChartView/ZFChartView/ZFChart/ZFPieChart/ZFPieChart.m @@ -16,6 +16,8 @@ @interface ZFPieChart() +/** 存储title的数组 */ +@property (nonatomic, strong) NSMutableArray * titleArray; /** 存储value的数组 */ @property (nonatomic, strong) NSMutableArray * valueArray; /** 存储颜色的数组 */ @@ -171,7 +173,9 @@ - (void)removeZFTranslucencePath{ - (void)strokePath{ [self removeAllSubLayers]; [self removeZFTranslucencePath]; - + if ([self.dataSource respondsToSelector:@selector(titleArrayInPieChart:)]) { + self.titleArray = [NSMutableArray arrayWithArray:[self.dataSource titleArrayInPieChart:self]]; + } if ([self.dataSource respondsToSelector:@selector(valueArrayInPieChart:)]) { self.valueArray = [NSMutableArray arrayWithArray:[self.dataSource valueArrayInPieChart:self]]; @@ -354,8 +358,13 @@ - (CGPoint)getBezierPathCenterPointWithStartAngle:(CGFloat)startAngle endAngle:( */ - (void)creatPercentLabel:(NSInteger)i{ NSString * string = [self getPercent:i]; + if (i < self.titleArray.count) { + NSString * title = self.titleArray[i]; + string = [NSString stringWithFormat:@"%@\n%@", string ,title]; + } CGRect rect = [string stringWidthRectWithSize:CGSizeMake(0, 0) font:_percentOnChartFont]; UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, rect.size.width, rect.size.height)]; + label.numberOfLines = 0; label.text = string; label.alpha = 0.f; label.textAlignment = NSTextAlignmentCenter;