我正在使用Core Plot创建一个饼图。我需要为它添加动画,以便切片从0度增加到360度。我使用以下方法来制作动画:
-(void)animatePlot:(CPTPlot *)pPlot
animated:(BOOL)bAnimated
{
[[CPTAnimation sharedInstance] removeAllAnimationOperations];
if (bAnimated) {
CPTPieChart *pPieChart = (CPTPieChart *)pPlot;
[CPTAnimation animate:pPieChart
property:@"startAngle"
from:0
to:M_PI*2
duration:5];
}
有两个问题: 饼图的最后一个切片有时会完全动画。因此,在动画结束后,我得到一个不完整的切片。 2.切片的数据标签表示实际位于饼直径(相隔180度)另一端的值
如何摆脱上述问题并正确制作饼图动画?我不希望整个饼图旋转。我只需要切片从0增长到各自的大小。
第二次编辑
我弄明白了这个问题。现在使用以下代码:
CPTPieChart *pPieChart = (CPTPieChart *)pPlot;
pPieChart.startAngle = M_PI;
[CPTAnimation animate:pPieChart
property:@"endAngle"
from:-M_PI
to:M_PI
duration:0.5];
该图表从180度开始动画。这解决了数据标签问题。但是我仍然得到第一个问题,即最后一个切片没有完全动画。我注意到动画持续时间很短时更明显。以下是截图。这是动画停止的地方:
答案 0 :(得分:0)
要使饼图增长,请为endAngle
设置动画。
我在 Plot Gallery 示例应用中尝试了此动画,但我没有看到标签出现任何问题。你能发一张照片吗?