2个动画之间的滞后

Posted

技术标签:

【中文标题】2个动画之间的滞后【英文标题】:Lag between 2 animations 【发布时间】:2014-02-26 11:03:16 【问题描述】:

我正在尝试将我的一个图像表单从底部动画到屏幕顶部,因为我正在实现一个动画,图像的当前宽度和高度将在过渡阶段变为一半,并且在动画后将采用其原始大小完成。

问题是一旦第一个动画完成它会保持一段时间然后开始另一个动画,我想要一个流畅的动画。

代码如下:

[UIView animateWithDuration:1.0
                          delay:0.5
                        options:UIViewAnimationOptionTransitionCurlUp
                     animations:^

                              [_myImageView setFrame:CGRectMake(20.0, 220.0, currentframe.size.width/2, currentframe.size.height/2)];

                           completion:^(BOOL finished)
                            
                              if (finished)
                              
                                  [UIView animateWithDuration:1.0
                                                        delay:0
                                                      options:UIViewAnimationOptionBeginFromCurrentState
                                                   animations:^
                                                       [_myImageView setFrame:CGRectMake(20.0, 20.0, currentframe.size.width, currentframe.size.height)];


                                                    completion:^(BOOL finished) 
                                                       if (finished) 
                                                           NSLog(@"2 nd log ");
                                                       
                                                   ];

                                  NSLog(@"animation fisnished !!");
                              
                          ];

应该怎么做?

【问题讨论】:

我在您的代码中看不到任何滞后。它滞后在哪里?达到 y=220 后? 您在哪个硬件上测试?你在动画期间做一些并行的工作吗?你在用主线程吗? yup @GenieWanted 当我达到 y = 220 时它会滞后一段时间,并且当我按下按钮时会发生此动画。 【参考方案1】:

试试这个:

[UIView animateWithDuration:1.0
                      delay:0
                    options:UIViewAnimationOptionCurveLinear// use CurveLinear option
                 animations:^

                  completion:^(BOOL finished) 

                 ];

【讨论】:

谢谢你的建议,我也试过了,是的,当我使用curveLiner选项时会有不同,但仍然有一点滞后:(

以上是关于2个动画之间的滞后的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 缓动动画在 iPad 上滞后

使用 jquery 的第一个动画后滞后

UIImageView 动画滞后

UIView 动画在设备上滞后

首次加载时动画滞后

为啥这些约束在动画时似乎滞后?