1

我有一个动画,当按下按钮时,它应该跳起来,然后再向下浮动。我使用动画一个让它浮起来,第二个让它下来。无论我做什么,第一个动画都不会浮动,它只是传送到顶部,而第二个动画正是它应该做的。

这就是我所拥有的:

//This animation does not respond to its duration.
[UIView animateWithDuration:.5 delay:0.0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     CGRect f = imageView.frame;
                     f.origin.y -= 40;
                     imView.frame = f;
                 }
                 completion:nil];

[UIView animateWithDuration:.7 delay:0.0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     CGRect f = imageView.frame;
                     f.origin.y += 40;
                     imView.frame = f;
                 }
                 completion:nil];

另一个问题是我想通过动画更改图像,但它总是以我最后声明的图像开始。谢谢!

4

1 回答 1

6

您的第二个动画会覆盖第一个动画,因为它没有延迟。尝试从第一个动画的完成块开始第二个动画。

[UIView animateWithDuration:.5 delay:0.0
                    options:UIViewAnimationOptionCurveEaseOut
                 animations:^{
                     CGRect f = imageView.frame;
                     f.origin.y -= 40;
                     imView.frame = f;
                 }
                 completion:^{
                     [UIView animateWithDuration:.7 delay:0.0
                                         options:UIViewAnimationOptionCurveEaseOut
                                      animations:^{
                                         CGRect f = imageView.frame;
                                         f.origin.y += 40;
                                         imView.frame = f;
                                      }
                                      completion:nil];
                 }];
于 2012-08-04T23:29:29.773 回答