2011-08-02 52 views
0

我開發了一個動畫餅圖,當用戶點擊一個餅圖切片時,它出現在圖表中。目前,我正在繪製不同CGLayer上的Pie的每一片。當用戶在切片上點擊時,我會選取該特定像素的顏色,並將其與用於提取相應圖層的RGB代碼(硬編碼)相匹配。iOS SDK-如何檢測餅圖片上的觸摸?

我不想使用任何第三方製圖庫如核心圖。

是否有辦法讓每個圖層成爲一個單獨的圖形實體,以便可以檢測到該對象的觸摸?

謝謝

回答

0

如果您使用的是CG,那麼您可以測試一個點是否在路徑中。

結賬CGPathContainsPointhere

3

難道你不能只使用觸摸的X,Y座標來計算與餅圖中心的距離以及距離嗎?

如果距離小於半徑,則使用角度來確定哪個圖表被點擊。

1

我用CAShapeLayer來表示個別的扇形切片。 CAShapeLayer實例有一個路徑屬性,您可以使用它來測試點是否在該路徑內。

只需檢測父級UIView上的觸點,然後遍歷所有餅圖切片並使用CGPathContainsPoint函數來測試點是否在該餅圖切片內。