UIView的动画帧变化不平滑,导致弹性效果

时间:2011-11-09 11:03:23

标签: ios animation uiview frame

我正在尝试动画UIView的帧变化,其中原点和大小都会发生变化。动画看起来并不流畅,并且具有弹性效果。我使用以下代码来做到这一点

[UIView
    animateWithDuration:0.5
    animations:^{
        self.view.frame = newFrame;
    }];

似乎大小首先变化非常快,然后原点随动画的指定持续时间而变化,最终导致弹性效果。如何让它看起来流畅?

2 个答案:

答案 0 :(得分:12)

您可以尝试更改动画曲线,也可以尝试使用线性曲线。

dispatch_async(dispatch_get_main_queue(), ^{
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.5];
    [UIView setAnimationCurve:UIViewAnimationCurveLinear];
    self.view.frame = newFrame;
    [UIView commitAnimations];
});

答案 1 :(得分:3)

在单独设置每个子视图的帧变化动画时,它就变得神奇了。现在它的动画非常流畅。感谢。