如何使用IOSChart通过ChartValueSelected显示另一个ViewController?

时间:2016-07-25 06:47:14

标签: ios swift charts uiviewcontroller ios-charts

我正在尝试开发一个简单的活动图表。我的目的是在图表中选择特定栏以显示另一个视图。主图表旨在成为仪表板样式,因此对于深入的发现或细节,用户可以选择特定的栏来了解更多[据说将显示特定的视图控制器]。

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的自定义show viewcontroller。

1 个答案:

答案 0 :(得分: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

此解决方案最适合用于在图表上显示不同视图控制器和餐饮数据的年,月,日和小时。