2011-02-09 2 views
2

にタッチイベントを渡すために、私はコアプロットフレームワークに新しいですし、問題に直面:どのように円グラフ

私はCPGraphHostigViewは、円グラフを描くようにしています。 CPGraphHostigViewはタッチイベントを検出しないため、タッチを検出できるUIViewがあります。では、このタッチイベントを円グラフにどのように渡して、CPPieChartDelegateメソッドにすることができますか?

- (void)pieChart:(CPPieChart *)plot sliceWasSelectedAtRecordIndex:(NSUInteger)index

呼び出されます。

何か助けていただければ幸いです。前もって感謝します。 UIResponderから継承UIViewから

-Ravi

答えて

1

CPGraphHostingView継承。したがって、CPGraphHostingViewはタッチイベントを検出しません。

は、ここでは、あなたの円グラフのスライスの上にタッチイベントを検出するために従うべき手順です。

  1. は、Interface BuilderでビューにCPGraphHostingViewを追加します。 UIViewを単純に追加し、そのクラスを手動でCPGraphHostingViewに変更することでこれを達成できます。
  2. は、コード内でホスティングビューを宣言します。

    // In your view controller .h file: 
        ... 
        CPGraphHostingView *graphHosting; 
    } 
    
    @property (nonatomic, retain) IBOutlet CPGraphHostingView *graphHosting; 
    
    
    // In your view controller .h file: 
    @synthesize graphHosting; 
    
  3. Interface BuilderでIBOutletとの接続を行います。

  4. は、グラフを初期化し、グラフホスティングビューにリンク:

    self.graph = [[CPXYGraph alloc] initWithFrame: self.graphHosting.bounds]; 
    self.graphHosting.hostedGraph = self.graph; 
    
  5. は、円グラフを初期化し、そのデリゲートとしてビューコントローラを設定します。

    CPPieChart *pieChart = [[CPPieChart alloc] init]; 
    pieChart.delegate = self; 
    ... 
    [self.graph addPlot:pieChart] 
    [pieChart release]; 
    
  6. はあなたに<CPPieChartDelegate>を追加しますコントローラーの宣言を表示し、メソッドを実装します。