막대 그래프 차트가 작동 중이고 막대를 눌러 선택할 수 있습니다. 내 ShinobiChart
데이터 소스의 -sChart:seriesAtIndex:
에서열 시리즈를 선택하는 방법 코드 막대 내
은 내가 구현 한 :
SChartColumnSeries *series = [[SChartColumnSeries alloc] init];
series.detectTapsOutsideBar = YES;
series.selectionMode = SChartSelectionPoint;
것은 잘 작동된다. 지금하고 싶은 것은 그 뒤에있는 데이터의 인덱스를 기반으로 특정 막대를 선택할 수있게하려는 것입니다. 어떻게 할 수 있니? 차트, 시리즈를 살펴 보았지만 열을 선택하는 방법을 찾을 수 없습니다.
또한 추가 포인트 : 적어도 하나의 열을 항상 선택해야합니다.
는 업데이트 : 나는 다음과 같은 코드를 추가하는 시도
는 :
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를 반복합니다. 선택하지 않으면 현재 dataPoint를 추출합니다. dataPoints 배열에서 선택 속성을 다시 설정하십시오. 이로 인해 필요한 기능이 제공되었습니다. 즉, 항상 하나 이상의 막대가 선택되었습니다. – Ants
흥미롭게도 위임 메서드에서 반환 된 dataPoint에 선택된 플래그를 설정해도 아무런 효과가 없습니다. – Ants