Ios 使用核心图为饼图切片设置动画

Ios 使用核心图为饼图切片设置动画,ios,core-plot,Ios,Core Plot,我正在使用核心图创建一个饼图。我需要添加动画,使切片从0度增长到360度。我使用以下方法制作动画: -(void)animatePlot:(CPTPlot *)pPlot animated:(BOOL)bAnimated { [[CPTAnimation sharedInstance] removeAllAnimationOperations]; if (bAnimated) { CPTPieChart *pPieChart = (CPTPie

我正在使用核心图创建一个饼图。我需要添加动画,使切片从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];

    }
有两个问题: 1.饼图的最后一部分有时会完全动画化。所以我在动画结束后得到一个不完整的切片。 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度开始设置动画。这解决了数据标签问题。然而,我仍然得到的第一个问题,最后一个切片没有完全动画。我注意到,当动画持续时间较短时,效果更明显。以下是截图。以下是动画停止的位置:


要使饼图变大,请设置
收角的动画


我在Plot Gallery示例应用程序中尝试了此动画,但没有发现标签有任何问题。你能发布一张图片吗?

我刚刚设置了endAngle属性的动画。在这种情况下,图只缩小到0。。将在一分钟内发布图像。问题已修复。。。必须将CPTAnimationOperation的委托设置为self。然后在animationDIdFinish方法中,设置饼图的结束角度。现在,饼图将完全设置动画。