2016-07-25 88 views
1

我正在尝试开发一个简单的活动图表。我的意图是让图表中选定的特定栏显示另一个视图。主图表的目的是作为仪表板样式,因此为了深入发现或详细信息,用户可以选择特定的栏来了解更多信息[应该会显示特定的视图控制器]。如何通过使用IOSChart的ChartValueSelected显示另一个ViewController?

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) 

}  

对于每个月都会有自己的看法,因为我打算在该特定视图中放置另一个图表。据我所知,每个月都会有特定的功能命令;所以我想在函数内部使用IF ELSE,但我完全不知道如何开始。我还不确定是否还有另一种简单的方法来实现这一点,因为我还在学习。

我正在按照教程使用iOSCharts http://www.appcoda.com/ios-charts-api-tutorial/ 和自定义显示视图控制器从https://www.youtube.com/watch?v=0I4HX6NDDak

回答

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 
    }  
} 

不要忘记实现barChartView.delegate = selfChartViewDelegate

该解决方案是用于表示不同的视图控制器和图表迎合数据年,月,日,小时尽其用。

+0

非常感谢你的回答! :)现在我可以推动更具体的观点。我只使用预定的数据集处理简单的活动图表。我将在未来使用动态数据集。 – Sturnment

+0

好,有一个快乐的编码。 – Hasya

+0

什么是swift3?数据集索引总是0 – Sofeda

相关问题