2016-07-25 16 views
1

Ich versuche ein einfaches aktives Diagramm zu entwickeln. Meine Absicht war, den bestimmten Balken in der Tabelle auszuwählen, um eine andere Ansicht anzuzeigen. Das Hauptdiagramm sollte ein Dashboard-Stil sein, so dass der Benutzer für eine detaillierte Entdeckung oder Details den spezifischen Balken auswählen kann, um mehr zu erfahren [angeblich wird der spezifische Viewcontroller angezeigt].So zeigen Sie einen anderen ViewController von ChartValueAuswählen von IOSChart?

func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: ChartHighlight) { 
    println("\(entry.value) in \(months[entry.xIndex])") 

    var storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 

    var vc: NewViewController = storyboard.instantiateViewControllerWithIdentifier("newView") as! NewViewController 

    self.presentViewController(vc, animated: true, completion: nil) 

}  

Für jeden Monat werden ihre eigenen Ansichten haben, weil ich einen anderen Diagramme in diesem spezifischen Ansicht setzen werde. Von dem, was ich verstehe, für jeden Monat wird die spezifische Funktion Befehl haben; Ich denke also, IF ELSE in der Funktion zu verwenden, aber ich habe keine Ahnung, wie ich anfangen soll. Ich bin mir auch nicht sicher, ob es noch einen einfacheren Weg gibt, dies zu erreichen, da ich noch lerne.

Ich befolge das Tutorial zur Verwendung von iOSCharts http://www.appcoda.com/ios-charts-api-tutorial/ und benutzerdefinierte Show Viewcontroller von https://www.youtube.com/watch?v=0I4HX6NDDak.

Antwort

0
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: ChartHighlight) { 
    print("\(entry.value) in \(months[entry.xIndex])") 

    let strSelectedMonth : String = months[entry.xIndex] as! String 

    if strSelectedMonth == "April" 
    { 
     print(strSelectedMonth) 

     // Now push another view controller and display bar chart for April month 
    }  
} 

Vergessen Sie nicht barChartView.delegate = self und ChartViewDelegate

Diese Lösung beste Verwendung für die Ansicht Jahr, Monate zu implementieren ist, Tage und Stunden mit verschiedenen View-Controller und kümmerten sich Daten auf der Karte.

+0

Vielen Dank für diese Antwort! :) Jetzt kann ich für spezifischere Ansichten drücken. Ich arbeite nur an einfach aktiven Charts mit vorgegebenen Datensätzen. Ich freue mich darauf, in Zukunft dynamische Datensätze zu verwenden. – Sturnment

+0

Gut, habe eine glückliche Kodierung. – Hasya

+0

Was wird für swift3 sein? dataSetIndex immer 0 – Sofeda