当我在beginAnimation-commitAnimatin块中编写我的动画代码时,我得到了一个弹跳效果,但是当我使用在主题中编写的方法执行相同的动画时,我得不到相同的效果。以下是两种方法:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDelay:0.5];
[UIView setAnimationDuration:1];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationRepeatAutoreverses:YES];
[UIView setAnimationRepeatCount:2];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:
@selector(resetTheChickenProperties)];
theChicken.frame = CGRectMake(15, 330, 62, 90);
[UIView commitAnimations];
图像上方显示的方式(它是一个鸡蛋)沿y方向向下移动,直到它撞到地面并反弹回来。清楚地观察到弹跳效应。但是如果我在animateWithDuration的帮助下做同样的事情:延迟:选项:动画:completion方法,鸡蛋不会反弹。它看起来好像挂在弹簧上。
答案 0 :(得分:1)
好的,我发现每个人都需要注意细微的细节,以便使用iOS 4及更高版本中提供的方法来使动画和过渡工作。当指定方法的动画/过渡选项时,我们必须使用其中带有“Option”一词的常量。所以不要写
UIViewAnimationCurveEaseIn|UIViewAnimationTransitionCurlUp
我们应该写
UIViewAnimationOptionCurveEaseIn|UIViewAnimationOptionTransitionCurlUp
修复后动画效果很好。我能够获得真正的弹跳效果