如何在代码中select列系列栏

我有一个条形图工作,我可以通过点击他们select酒吧。

在我的ShinobiChart数据源的-sChart:seriesAtIndex:我已经实现了:

 SChartColumnSeries *series = [[SChartColumnSeries alloc] init]; series.detectTapsOutsideBar = YES; series.selectionMode = SChartSelectionPoint; 

哪个工作正常。 我现在想要做的是能够根据它背后的数据索引来select一个特定的栏。 你怎么做到这一点? 我已经看了图表,系列却找不到任何方法来select一列。

也为额外的点:)我需要确保至less有一列总是被选中。

更新:

我试着添加下面的代码:

 for (int index = 0; index < self.chartView.series[0].dataSeries.dataPoints.count; index++) { SChartDataPoint *point = (SChartDataPoint *)self.chartView.series[0].dataSeries.dataPoints[index]; if (lapIndex == index) { point.selected = YES; } else { point.selected = NO; } } 

似乎没有任何效果。 我也试图重绘图表。

最后,我删除了该代码,并在图表上调用了-reloadData-redrawChart ,然后在数据源中将其设置为选中状态。 这是工作。

免责声明我是ShinobiControls的开发人员。

最近我们改变了我们的数据点selectAPI,这个API将在我们的下一个版本中出现,以使这个更清晰一些。

目前,您必须通过“dataSeries.dataPoints”数组遍历系列的数据点。 然后将您从typesid拉下数组的点转换为SChartDataPoint,并在该点上设置所选属性。

或者,如果要在图表初始绘制时select数据点,则可以将SChartDatasource方法“dataPointAtIndex:”中所设置的SChartDataPoint对象的选定属性设置为。

要确保一次只select一个点,可以将“togglePointSelection”BOOL属性设置为NO。 将此属性设置为YES意味着您可以一次select多个点。