2011-11-20 5 views
0

iOS 어플리케이션에서 코어 플롯의 산점도를 사용하려고합니다. 코어 플롯 위키가 말한대로 코어 플롯을 설정 한 다음 포함 된 플롯 갤러리 프로젝트의 PlotItem.h/m, PlotGallery.h/m 및 SimpleScatterPlot.h/m을 프로젝트에 복사합니다. 코드ScatterPlot으로 플롯 포인트를 탭하거나 그래프를 이동시키지 않습니다

CPTTheme *theme = [CPTTheme themeNamed:kCPTDarkGradientTheme]; 
SimpleScatterPlot *scatterPlot = [[SimpleScatterPlot alloc]init]; 
[scatterPlot generateData]; 
[scatterPlot renderInLayer:hostView withTheme:theme]; 

실행하고 그래프보기는 내 응용 프로그램에 표시됩니다. 그러나 그래프 갤러리를 이동하거나 플롯 갤러리 프로젝트에서와 같이 플롯 포인트를 탭할 수는 없습니다. 어떻게 이것을 올바르게 설정합니까?

+0

무엇이'hostView'입니까? –

+0

hostView는 내 viewController.h에서 선언되고 Interface Builder에서 CPTGraphHostingView에 대한 IBOutlet을 갖는 CPTGraphHostingView입니다. – Jambaman

답변

0

플롯 갤러리는 간단한 핵심 플롯 데모의 시작점이 좋지 않습니다. 그것은 모든 다른 플롯의 축소판으로 테이블 뷰를 생성하는 것을 지원하는 많은 "물건"을 가지고 있습니다. -renderInView:withTheme: 메서드는 테이블 뷰의 축소판 이미지를 만드는 데 사용됩니다. 그래프를 이미지로 렌더링하여 상호 작용을 잃게 만듭니다. 새로운 플롯을 신속하게 앱에 추가하고 MacOS와 iOS를 모두 쉽게 지원할 수있는 유연성이 필요한 경우가 아니면 다른 예제 중 하나를 시작점으로 사용하는 것이 좋습니다. 아키텍처는 훨씬 간단하고 이해하기 쉽습니다.

가시적 인보기 계층 구조에 CPTGraphHostingView이 있어야합니다. 그래프를 hostedGraph으로 설정하십시오. 호스팅보기를 설정하는 방법을 보려면 다른 예제 앱을 살펴보십시오. Plot Gallery 플롯 (예 : SimpleScatterPlot)의 그래프 설정 및 데이터 소스 코드는 정상적으로 작동하므로 어디에서나 작동해야합니다.

+0

이미지 만 생성하는 renderInLayer : withTheme : 메서드를 의미합니까? PlotGallery-Project에서 SimpleScatterPlot으로 만든 그래프는 이동하고 상호 작용할 수 있지만 내 프로젝트에서이 그래프를 설정하는 것처럼 보이지는 않습니다 ... – Jambaman

+0

좋아, 이제 마침내 얻을 수있었습니다. 내 응용 프로그램에서 줄거리. PlotGallery에서 약간의 복사 - 붙여 넣기 및 온라인 (일부) 자습서 읽기. 이제 주된 문제는 음모 "버튼"중 하나를 터치 할 때 값을 표시하는 것입니다. 이 무언가가 - (void) scatterPlot : (CPTScatterPlot *) plot plotSymbolWasSelectedAtRecordIndex : (NSUInteger) index-method와 관련이 있다고 생각하지만,이 작업을 수행하려면 delagates/datasources에 익숙하지 않습니다. 플롯 버튼 중 하나를 누르면이 메소드가 자동으로 호출됩니까? 그리고 어떤 주장이 전달됩니까? – Jambaman

+0

플롯 갤러리 및 다른 예제 응용 프로그램에 위임 메소드의 예가 있습니다. 인수는 터치 된 플롯 (둘 이상의 플롯에 동일한 델리게이트를 사용할 수 있음)과 포인트 색인입니다. 인덱스는 데이터 소스에서 포인트를 검색하는 데 사용 된 인덱스와 일치합니다. –

관련 문제