2017-03-23 64 views
0

我正在使用BNPieChart。 iPhone6s(iOS 10.2.1)中的Piechart切片丟失了,但相同的代碼適用於iPhone5s(iOS 10.2.1)和iPhone5s(iOS 10.2.1)。丟失在iPhone6 piechat切片工作正常iphone5

這裏是我的代碼:

- (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其僅顯示漸變暗灰色圓圈,有圖像的樣子: enter image description here

但它的iPhone5(iOS版10.2.1)

工作正常

enter image description here

回答

0

事實上,它需要BNPieChart類改變本身。有CGFloatfloat* 之間的不兼容的地方都寫在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,它就能正常工作。