2016-04-14 2 views
0

Я использую библиотеку XYPieChart, чтобы нарисовать круговую диаграмму в моем проекте, но она не рисует диаграмму, когда я запускаю ее в симуляторе. Я попробовал это в классе UITableViewController, но не получил результат, переключенный на UIViewController, но получил те же результаты. Что я здесь делаю неправильно?Swift не рисует диаграмму (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 
    }  
} 

ответ

0

Я думаю, что вы не добавить PieChart к просмотру

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

пробовал. не работает. – KababChi

+0

попробуйте установить рамку для pieChart. – iPrabu

+0

как это сделать? – KababChi

Смежные вопросы