所以,在我的旋转处理程序中,我正在为横向模式做一些布局。我希望在旋转完成后执行一些额外的动画,因此我将持续时间增加到更大的值并启动关键帧类型动画。
我发现由于某种原因,我无法有效地增加持续时间。无论我将持续时间设置为什么,下面的代码似乎都在旋转的时间跨度内运行(0.4秒或其他)。
旋转动画是否正在进行中,以防止更长的动画被启动?
感谢您的帮助。
- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation) toInterfaceOrientation duration:(NSTimeInterval) duration
{
duration = 10.0; // overriding the duration to a longer value
// running some keyframed animation over the longer animation
[UIView animateKeyframesWithDuration: duration delay:0.0 options:UIViewKeyframeAnimationOptionBeginFromCurrentState
animations:^{
[UIView addKeyframeWithRelativeStartTime:0.0
relativeDuration:total_duration_sec
animations:^{ /*do some stuff */ }];
}
答案 0 :(得分:0)
在完成块中执行其他动画。
[UIView animateKeyframesWithDuration:duration delay:0.0 options:UIViewKeyframeAnimationOptionBeginFromCurrentState animations:^ {} completion:NULL ];