2016-12-15 2 views
1

Ich habe eine Shinobi Donut-Diagramm, das ich gerne Scheibe Label Farbe für ändern würde.Shinobi Donut-Chart-Label Farbe wird nicht geändert

Ich benutze Swift3. Das Diagramm ist perfekt, aber die Farbe des Etiketts ist weiß.

class myViewController: UIViewController, SChartDatasource { 

    @IBOutlet weak var paymentChartView: UIView! 

    override func viewDidLoad() {   
     addPaymentInformationChart() 
    } 

    func addPaymentInformationChart() { 
     let chart = ShinobiChart(frame: paymentChartView.bounds) 
     chart.title = "Payment Information" 
     chart.autoresizingMask = [.flexibleHeight, .flexibleWidth] 
     chart.titleLabel.textColor = UIColor.black 

     chart.datasource = self 
     paymentChartView.addSubview(chart) 
    } 

    /* SChartDatasource methods */ 

    func numberOfSeries(in chart: ShinobiChart) -> Int { 
     return 1 
    } 

    func sChart(_ chart: ShinobiChart, seriesAt index: Int) -> SChartSeries { 
     let donutSeries = SChartDonutSeries() 
     donutSeries.style().spokeStyle.showSpokes = true; 
     donutSeries.selectedStyle().spokeStyle.showSpokes = true; 
     return donutSeries 
    } 

    func sChart(_ chart: ShinobiChart, numberOfDataPointsForSeriesAt seriesIndex: Int) -> Int { 
     return 3 
    } 

    func sChart(_ chart: ShinobiChart, dataPointAt dataIndex: Int, forSeriesAt seriesIndex: Int) -> SChartData { 
     let dp = SChartDataPoint() 
     dp.xValue = 0 
     dp.yValue = 0 
     if paymentDatasource.count > 0 { 
      switch dataIndex { 
      case 0: 
       dp.yValue = 100.0 
       break 
      case 1: 
       dp.yValue = 200.0 
       break 
      case 2: 
       dp.yValue = 300.0 
       break 
      default: 
       break 
      } 
     } 
     return dp 
    } 

    func sChart(_ chart: ShinobiChart, labelForSliceAt sliceIndex: Int, in series: SChartRadialSeries) -> UILabel? { 

     let sliceLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21)) 
     sliceLabel.textColor = UIColor.black 

     switch sliceIndex { 
     case 0: 
      sliceLabel.text = "Principal" 
      break 
     case 1: 
      sliceLabel.text = "Interest" 
      break 
     case 2: 
      sliceLabel.text = "Total" 
      break 
     default: 
      break 
     } 
     return sliceLabel 
    } 

} 

Der Etikettentext wird korrekt eingestellt, aber die Etikettenfarbe ändert sich nicht.

enter image description here

Ich würde schätzen jede Hilfe

+1

eine Lizenz nicht für ShinobiCharts Hat technischen Support beinhalten? – NRitH

Antwort

0

Denn ich muss ich das Diagramm Stil, um Label Stil zu ändern ändern herausgefunden:

func sChart(_ chart: ShinobiChart, seriesAt index: Int) -> SChartSeries { 
    let donutSeries = SChartDonutSeries() 
    donutSeries.style().spokeStyle.showSpokes = true; 
    donutSeries.selectedStyle().spokeStyle.showSpokes = true; 
    donutSeries.style().labelFontColor = UIColor.black 
    donutSeries.selectedStyle().labelFontColor = UIColor.black 
    return donutSeries 
} 
Verwandte Themen