iPhone6 中缺失的饼图切片适用于 iphone5
Missing slices of piechat in iPhone6 works fine for iphone5
我正在使用 BNPieChart。 iPhone6s (iOS 10.2.1) 中的饼图切片丢失了,但相同的代码在 iPhone5s (iOS 10.2.1) 和 iPhone5s (iOS 10.2.1)。
这是我的代码:
- (void)viewDidAppear:(BOOL)animated {
CGRect pieFrame = CGRectMake(30, 78, 240, 240);
self.chart = [[BNPieChart alloc] initWithFrame:pieFrame];
BNColor *emergencyColor = [BNColor colorWithRed:142.0/255.0 green:1.0/255.0 blue:32.0/255.0];
BNColor *urgentColor = [BNColor colorWithRed:231.0/255.0 green:133.0/255.0 blue:8.0/255.0];
BNColor *nonUrgentColor = [BNColor colorWithRed:97.0/255.0 green:147.0/255.0 blue:3.0/255.0];
self.chart.colors = [NSArray arrayWithObjects:emergencyColor,urgentColor,nonUrgentColor, nil];
[self.chart addSlicePortion:emergencyCount/totalCount withName:[NSString stringWithFormat:@"%.1f%%",(emergencyCount/totalCount)*100]];
[self.chart addSlicePortion:urgentCount/totalCount withName:[NSString stringWithFormat:@"%.1f%%",(urgentCount/totalCount)*100]];
[self.chart addSlicePortion:nonUrgentCount/totalCount withName:[NSString stringWithFormat:@"%.1f%%",(nonUrgentCount/totalCount)*100]];
[self.view addSubview:self.chart];
}
在iphone6上它只显示渐变暗灰色圆圈,看图:
但它适用于 iPhone5(iOS 10.2.1)
其实需要在BNPieChart
类里面改。 CGFloat
和 float*
之间不兼容
替换 BNPieChart.m
中的以下代码行:
// CGFloat red, green, blue;
// [self getRGBForIndex:index red:&red green:&green blue:&blue];
到
CGFloat red, green, blue;
BNColor *color = [colors objectAtIndex:(index % [colors count])];
red = color.red;
green = color.green;
blue = color.blue;
观看 viewDidAppear
以达到结果。如果有人像我一样实施了 BNPieChart
,它就可以正常工作。
我正在使用 BNPieChart。 iPhone6s (iOS 10.2.1) 中的饼图切片丢失了,但相同的代码在 iPhone5s (iOS 10.2.1) 和 iPhone5s (iOS 10.2.1)。
这是我的代码:
- (void)viewDidAppear:(BOOL)animated {
CGRect pieFrame = CGRectMake(30, 78, 240, 240);
self.chart = [[BNPieChart alloc] initWithFrame:pieFrame];
BNColor *emergencyColor = [BNColor colorWithRed:142.0/255.0 green:1.0/255.0 blue:32.0/255.0];
BNColor *urgentColor = [BNColor colorWithRed:231.0/255.0 green:133.0/255.0 blue:8.0/255.0];
BNColor *nonUrgentColor = [BNColor colorWithRed:97.0/255.0 green:147.0/255.0 blue:3.0/255.0];
self.chart.colors = [NSArray arrayWithObjects:emergencyColor,urgentColor,nonUrgentColor, nil];
[self.chart addSlicePortion:emergencyCount/totalCount withName:[NSString stringWithFormat:@"%.1f%%",(emergencyCount/totalCount)*100]];
[self.chart addSlicePortion:urgentCount/totalCount withName:[NSString stringWithFormat:@"%.1f%%",(urgentCount/totalCount)*100]];
[self.chart addSlicePortion:nonUrgentCount/totalCount withName:[NSString stringWithFormat:@"%.1f%%",(nonUrgentCount/totalCount)*100]];
[self.view addSubview:self.chart];
}
在iphone6上它只显示渐变暗灰色圆圈,看图:
但它适用于 iPhone5(iOS 10.2.1)
其实需要在BNPieChart
类里面改。 CGFloat
和 float*
之间不兼容
替换 BNPieChart.m
中的以下代码行:
// CGFloat red, green, blue;
// [self getRGBForIndex:index red:&red green:&green blue:&blue];
到
CGFloat red, green, blue;
BNColor *color = [colors objectAtIndex:(index % [colors count])];
red = color.red;
green = color.green;
blue = color.blue;
观看 viewDidAppear
以达到结果。如果有人像我一样实施了 BNPieChart
,它就可以正常工作。