2

出于某种原因,如果我只使用代码:

[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 更改移动到与帧更改相同的块中。它根本不会为帧更改设置动画。

4

1 回答 1

0

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

于 2013-09-03T19:10:32.353 回答