跳跃动画:第一个动画持续时间不起作用.IOS

use*_*042 1 xcode cocoa-touch objective-c ios

我有一个动画,当按下按钮时,应该跳起来,然后向下漂浮.我用动画一个让它浮起来,第二个让它降下来.无论我做什么,第一个动画都没有浮动,它只是传送到顶部,第二个动画完全应该是它应该的.

这就是我所拥有的:

//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];
Run Code Online (Sandbox Code Playgroud)

另一个问题我有它想要通过动画改变图像,但它总是从我最后声明的图像开始.谢谢!

rob*_*off 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];
                 }];
Run Code Online (Sandbox Code Playgroud)