У меня есть диаграмма диаграммы, и я могу выбрать полосы, нажав на них.Как выбрать строку столбцов Bar в коде
В -sChart:seriesAtIndex:
моего ShinobiChart
источника данных я реализовал:
SChartColumnSeries *series = [[SChartColumnSeries alloc] init];
series.detectTapsOutsideBar = YES;
series.selectionMode = SChartSelectionPoint;
Который работает хорошо. Теперь я хочу выбрать конкретную панель, основанную на индексе данных позади нее. Как ты делаешь это? Я просмотрел диаграмму, серию, но не могу найти какой-либо метод для выбора столбца.
Также для дополнительных точек :) Мне нужно обеспечить, чтобы всегда выбирался хотя бы один столбец.
UPDATE:
Я попытался добавить следующий код:
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
на диаграмме, а затем задал выбранный в источнике данных. Это работает.
Благодарим вас за это. Я устанавливаю первую точку для выбора в -sChart: dataPointAtIndex: forSeriesAtIndex: и я реализовал -sChart: toggledSelectionForPoint: inSeries: atPixelCoordinate: в моем делетете и повторил все точки данных, если их не выбрано, я извлекаю текущую точку данных из массива dataPoints и повторно установите свойство выбора. Это дало мне необходимую мне функциональность, т. Е. Всегда выбирается хотя бы один бар. – Ants
Интересно, что просто установление выбранного флага в dataPoint, возвращаемом в методе делегата, не повлияло. – Ants