【发布时间】: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 时它会滞后一段时间,并且当我按下按钮时会发生此动画。