【问题标题】:Lag between 2 animations2个动画之间的滞后
【发布时间】: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 时它会滞后一段时间,并且当我按下按钮时会发生此动画。

标签: ios animation uiview


【解决方案1】:

试试这个:

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

                 } completion:^(BOOL finished) {

                 }];

【讨论】:

  • 谢谢你的建议,我也试过了,是的,当我使用curveLiner选项时会有不同,但仍然有一点滞后:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-22
  • 1970-01-01
  • 2015-04-13
  • 2013-10-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多