0

我开发了一个动画饼图,当用户单击饼图切片时,它会从图表中显示出来。目前,我在不同的 CGLayer 上绘制饼图的每一片。当用户点击切片时,我选择该特定像素的颜色并将其与拉出相应图层的 RGB 代码(硬编码)匹配。

我不想使用任何第三方图表库,如核心图。

有没有办法让每一层都成为一个单独的图形实体,以便可以检测到对该对象的触摸?

谢谢

4

3 回答 3

3

你不能只使用触摸的X,Y坐标来计算到饼图中心的角度以及距离吗?

如果距离小于半径,则使用角度来确定点击了哪个图表。

于 2012-05-07T15:16:42.273 回答
1

我曾经CAShapeLayer代表单独的饼片。CAShapeLayer实例有一个path属性,您可以使用它来测试一个点是否在该路径内。

只需检测父 UIView 上的触摸点,然后遍历所有饼图并使用该CGPathContainsPoint函数测试该点是否在该饼图中。

于 2012-12-12T11:13:50.750 回答
0

如果您使用的是 CG,那么您可以测试一个点是否在路径内。

CGPathContainsPoint 在这里结帐。

于 2011-08-02T09:39:46.077 回答