由于某些原因,如果我只使用代码:

[UIView animateWithDuration:.5 delay:0
                            options:UIViewAnimationOptionCurveEaseInOut
                         animations:^{

                             CGRect newDescriptFrame = [self.summaryTextField frame];
                             newDescriptFrame.size.height = (bkgndRect.size.height - kbSize.height) - ((newDescriptFrame.origin.y) + 10);
                             self.descriptionTextView.frame = newDescriptFrame;

                         }
                         completion:^(BOOL finished){

                         }];

它可以很好地移动descriptionTextView,但是如果我随此添加另一个动画块。
 [UIView animateWithDuration:.3 delay:.5
                        options:UIViewAnimationOptionCurveEaseInOut
                     animations:^{

                         self.summaryLabel.alpha = 0.0;
                         self.summaryLabel.alpha = 1.0;

                     }
                     completion:^(BOOL finished){}];

当第二个块动画时,descriptionTextView会恢复到动画之前的原始位置。为什么会这样?我如何解决它?如果我将alpha更改与帧更改放在同一块中。它根本不为帧更改设置动画。

最佳答案

是不是因为同一时间只能执行一个动画?也就是说,如果您将两个动画放到一个代码块中,则只有最后一个会实际执行。

关于ios - AnimateWithDuration运行异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14903176/

10-09 12:54