我有一段音频&相关游戏&停止按钮,当按下“播放”按钮时,我使用光标动画来表示在给定时刻音频样本中的哪一点。每当按下停止按钮时,我希望我的光标返回其初始坐标。我相信UIViewAnimationOptionBeginFromCurrentState可能是这样做的方法吗?我的初始动画代码如下,任何人都有关于如何使用UIViewAnimationOptionBeginFromCurrentState以将光标发送回原始坐标的任何提示?
感谢您提前提供任何帮助:)
[UIView beginAnimations:@"MoveView" context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationDuration:2.0f];
yellowBar.frame = CGRectMake(310, 20, 5, 100);
[UIView commitAnimations];
答案 0 :(得分:6)
如果您仍在使用beginAnimations / commitAnimations,请使用setAnimationBeginsFromCurrentState:
。否则,您可以将UIViewAnimationOptionBeginFromCurrentState传递给animateWithDuration:delay:options:animations:completion:
以获取options参数。
答案 1 :(得分:2)
Brian是对的,你有两种选择:
//Initialize newFrame here
[UIView animateWithDuration:0.5
delay:0.0
options:UIViewAnimationCurveEaseInOut | UIViewAnimationOptionBeginFromCurrentState //Multiple options
animations:^ {
[yourView setFrame: newFrame];
}
completion:^ (BOOL finished) {
}];
或者
//Initialize newFrame here
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationDuration:0.5];
[yourView setFrame: newFrame];
[UIView commitAnimations];
答案 2 :(得分:0)
AFAIK您只能将该选项与基于块的动画一起使用(无论如何都鼓励您使用)。您使用animateWithDuration:delay:options:animations:completion:
方法,描述为here。