그래프의 값을 표시하는 끝에 항상 첨부 된 주석이있는 그래프보기를 만들려고합니다. 슬라이더를 움직이면 실시간으로 업데이트되고 그래프 값이 변경되면 주석 텍스트도 변경됩니다.코어 플롯 : CPTPlot에서 CPTBarPlot 얻기
나는 간단한 코드를 조합하여 잘 작동시킨다.
- (void)barPlot:(CPTBarPlot *)plot barWasSelectedAtRecordIndex:(NSUInteger)idx;
이 나를 CPTBarPlot 잡아 그에 대해 확인 할 수 그러나이 막대를 눌러로 그 키를 누릅니다 처리하고있었습니다. 그래프가로드되어 거기에 무한정 남아있을 때 주석이 표시되기를 바랍니다. 따라서 위의 방법을 사용하는 것은 실현 가능하지 않습니다.
여기 내 numberForPlot
메서드이며 주석을 업데이트하는 것을 처리하고 싶은 메서드를 호출하고 있습니다.
- (의 NSNumber *) numberForPlot : (CPTPlot *) 플롯 필드 : (NSUInteger) fieldEnum recordIndex : (NSUInteger) 내 방법 addAnnotationToBar: value: atIndex:
를 호출하고이 코드에서는 인덱스 {
double ageNew = self.sliderOne.value - [self.budgetObject.larcNum doubleValue];
self.budgeObject = [self.budgetImpactFormula calculateBudgetImpactData:ageNew andOrganisation:self.organisationObject];
BudgetGraphObject *graphObject = [self getGraphScale];
if ((fieldEnum == CPTBarPlotFieldBarTip) && (index < 2)) {
if ([plot.identifier isEqual:@"UIPCurrent"]) {
return graphObject.uipCur;
}
else if ([plot.identifier isEqual:@"UIPProjected"]) {
[self addAnnotationToBar:plot value:[graphObject.uipProj doubleValue] atIndex:index];
return graphObject.uipProj;
}
. 그러나 응용 프로그램이 추락했고 CPTlot이 아니라 CPTBarPlot을 전달하고 있었기 때문에 실현되었습니다. 앱을 중단시키는 행은 다음과 같습니다. [plot.graph.plotAreaFrame.plotArea addAnnotation:self.uipProjectedAnnotation];
추가 조사가 끝난 후이 부분이 특수 효과의 업데이트를 처리하는 가장 좋은 장소 인 것으로 보입니다. CPTPlot에서 CPTBarPlots를 확보 할 수 있습니까?
나는 다음과 같은 찾기 위해 디버거를 사용했다 :
나는, 그러나 수없는이 배열에 액세스 할 수 있습니다.
CPTPlot 내에서 CPTBarPlots를 유지하는 방법에 대한 도움을 주시면 감사하겠습니다.
감사합니다.
안녕하세요, 에릭, 응답 해 주셔서 감사합니다. 내 createGraph 메서드 내에서 그들을 추가 할 것입니다. 데이터 변경 사항을 보는 가장 좋은 방법은 무엇입니까? 이 그래프는 슬라이더와 함께 작동하므로 지속적으로 업데이트됩니다. 그래프가 변경되면 주석을 업데이트해야합니다. – pls