0

我正在使用CGAffineTransform方法修改 UIImageViews 的框架,然后在父视图上调用 setNeedsDisplay。这可以正常工作,只有变换非常严格。

如何平滑动画?我已经研究过二次插值,但我不确定如何处理它。当我缩放或旋转它们并计算要在 UIImageView 上设置的下一个值时,但如果我不知道这些点,我不知道在哪里应用插值。

我有一个 currentRotation 值和一个 currentScale 值,当它们被提供给该方法时,我可以获得下一个值,但我不确定如何逐步从一个到另一个进行动画处理。

4

1 回答 1

0

您是否尝试过将其封装在 中+animateWithDuration:delay:options:animations:completion:?我的一个应用程序中有这样的东西,并且运行顺利:

[UIView animateWithDuration:2.0f
                      delay:0.0f
                    options:UIViewAnimationOptionCurveEaseInOut
                 animations:^ {
                     _chevronImageView.transform = CGAffineTransformMakeRotation((int)(arc4random() % 100));
                 }
                 completion:nil];

编辑:我在-drawRect:方法中调用它。

于 2013-05-29T14:56:20.370 回答