2011-02-09 69 views
2

我是新來的核心情節框架和麪臨的問題:如何觸摸事件傳遞給餅圖

我是CPGraphHostigView畫一個餅形圖。由於CPGraphHostigView未檢測到觸摸事件,因此我在其上有一個可檢測觸摸的UIView。現在我怎麼能通過這個觸摸事件到餅圖,以便CPPieChartDelegate方法。

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

被調用。

任何幫助表示讚賞。提前致謝。從UIView

-Ravi

回答

1

CPGraphHostingView繼承,它從UIResponder繼承。因此,CPGraphHostingView確實檢測到觸摸事件。

下面是你應該以檢測你的餅圖切片觸摸事件遵循的步驟:

  1. 添加CPGraphHostingView在Interface Builder中您的視圖。您可以通過添加一個簡單的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. 請與IBOutlet中在Interface Builder的連接;

  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>到您的視圖控制器的聲明,以及實現方法:

    - (void)pieChart:(CPPieChart *)plot sliceWasSelectedAtRecordIndex:(NSUInteger)index 
    
相關問題