对于我的图表实现,我希望用户能够根据需要选择任意数据点。问题是,似乎每当选择另一个数据点时,前一个数据点都会被取消选择。唯一可行的方法是将选定的BOOL
作为我的数据源对象的一部分,然后在每个选择的图表上调用reloadData
和redrawChart
。
-(void)sChart:(ShinobiChart *)chart toggledSelectionForPoint:(SChartDataPoint *)dataPoint inSeries:(SChartSeries *)series atPixelCoordinate:(CGPoint)pixelPoint {
...
myDataObject.selected = !myDataObject.selected;
dataPoint.selected = myDataObject.selected;
[self.chart reloadData];
[self.chart redrawChart];
}
然后dataPointAtIndex
会处理它。
-(id<SChartData>)sChart:(ShinobiChart *)chart dataPointAtIndex:(NSInteger)dataIndex forSeriesAtIndex:(NSInteger)seriesIndex {
...
datapoint.selected = myDataObject.selected;
}
但这似乎是一种浪费,效率低下的做事方式,而且这并不具有在选择之间持续放大的好处。
答案 0 :(得分:0)
我认为您正在寻找的是series.togglePointSelection = YES
。这将允许系列&#39;指向他们的选择切换,而不是一次只设置一个。
希望这有帮助!
罗布