2016-04-14 5 views
0

Ich verwende die XYPieChart-Bibliothek, um ein Kreisdiagramm in meinem Projekt zu zeichnen, aber es zeichnet das Diagramm nicht, wenn ich es im Simulator ausführen. Ich habe es in einer UITableViewController Klasse versucht, aber das Ergebnis nicht auf UIViewController umgestellt, aber die gleichen Ergebnisse erhalten. Was mache ich hier falsch?Swift zeichnet kein Diagramm (XYPieChart)

import Foundation 
import XYPieChart 

class MainVC:UIViewController,XYPieChartDelegate,XYPieChartDataSource{ 

    let z = Share.sharedInstance 
    let dbm = DatabaseManager() 
    var chart_dNameArr = [""] 
    var chart_dAmountArr = [0.0] 

    override func viewDidLoad() { 
     self.view.addGestureRecognizer(self.revealViewController().panGestureRecognizer()) 
     makeChart() 
    } 

    func makeChart(){ 
     let pieChart = XYPieChart() 
     let viewWidth: Float = Float(pieChart.bounds.size.width/2) 
     let viewHeight: Float = Float(pieChart.bounds.size.height/2) 
     pieChart.delegate = self 
     pieChart.dataSource = self 
     pieChart.startPieAngle = CGFloat(M_PI_2) 
     pieChart.animationSpeed = 1.5 
     pieChart.labelColor = UIColor.whiteColor() 
     pieChart.labelShadowColor = UIColor.blackColor() 
     pieChart.showPercentage = true 
     pieChart.backgroundColor = UIColor.whiteColor() 
     //To make the chart at the center of view 
     pieChart.pieCenter = CGPointMake(pieChart.bounds.origin.x + CGFloat(viewWidth), pieChart.bounds.origin.y + CGFloat(viewHeight)) 
     //Method to display the pie chart with values. 
     pieChart.reloadData() 

     print("made a chart") 
    } 

    func numberOfSlicesInPieChart(pieChart: XYPieChart!) -> UInt { 
     return 2 
    } 

    func pieChart(pieChart: XYPieChart!, valueForSliceAtIndex index: UInt) -> CGFloat { 
     var value: CGFloat = 0.0 
     if index % 2 == 0 { 
      value = 25 
     } 
     else { 
      value = 75 
     } 
     return value 
    } 

    func pieChart(pieChart: XYPieChart!, colorForSliceAtIndex index: UInt) -> UIColor! { 
     var color: UIColor 
     if index % 2 == 0 { 
      color = UIColor.redColor() 
     } 
     else { 
      color = UIColor.greenColor() 
     } 
     return color 
    }  
} 

Antwort

0

Ich glaube, Sie nicht die piechart zu der Ansicht hinzugefügt haben

func makeChart(){ 
    //.... 
    pieChart.reloadData() 
    addSubView(pieChart) //<- Add this line 
} 
+0

versucht. funktioniert nicht. – KababChi

+0

versuchen Sie, den Rahmen für pieChart festzulegen. – iPrabu

+0

Wie mache ich das? – KababChi

Verwandte Themen