我正在画一个饼图,然后点击,我正在用
将它旋转到下一个饼图 CGContextRotateCTM(context, degreesToRadians(mAngle))
。
有没有办法让这种过渡动画?你能发一个例子吗?
答案 0 :(得分:0)
我认为如果您真的想要旋转图表只需更改绘图代码,您需要创建一个计时器并在其方法中更改旋转角度,并在那里重新绘制视图。
我不是在绘图代码中应用旋转,而是使用图表本身旋转视图,如果可能的话 - 使用UIView动画或使用CALayer动画 - 它们非常简单并且提供了更大的灵活性。例如
[UIView animateWithDuration:1.0f
animations:^{
view.transform = CGAffineTransformMakeRotation(mAngle);
}];
将在1秒内通过动画旋转您的mAngle视图(方法从iOS4开始可用)。此外,如果您想将视图旋转360度或更多,则需要使用CALayer动画(有关详细信息,请查看this question)。
同样使用标准动画很可能不会让您的视图重绘,因此效率会更高。