2012-02-29 88 views
0

我實現了以下功能,並將CPTScatterPlot delegate設置爲self,將boundLinePlot.plotSymbolMarginForHitDetection設置爲320.0f。CorePlot觸摸識別滾動

-(void)scatterPlot:(CPTScatterPlot *)plot plotSymbolWasSelectedAtRecordIndex:(NSUInteger)index { 
    NSLog(@"index %d",index); 
} 

當我觸摸散點圖圖裏委託方法正確運行,並返回最近的指數,但滾動不工作,因爲委託方法捕獲所有的水龍頭。

如何解決這個問題?

感謝您的答覆

回答

1

減少你plotSymbolMarginForHitDetection設置。你已經告訴它在一個繪圖點的320個像素內的任何地方註冊觸摸。在iPhone屏幕上,這幾乎是整個圖表。更典型的設置將介於5和15之間。

+0

好吧,但是如果我想觸摸屏幕(圖形)上的任何位置,那麼委託方法返回最近的點,什麼是正確的解決方案? – flatronka 2012-03-02 06:00:59

+1

你說你也希望能夠滾動。使用內置功能無法實現這兩種方式。如果您使用繪圖空間委託而不是散點圖委託,則可以自己處理下拉/拖動/放置事件,並決定何時在繪圖上註冊命中以及何時滾動。 – 2012-03-02 11:59:36

+0

感謝您的有益建議 – flatronka 2012-03-02 15:17:42