我有一个带有UIViewPropertyAnimator *
的变量,该变量当前正在制作动画。例如,这是一个名为UIViewPropertyAnimator
的fadeOutAnimator
,它会“淡出” UILabel(名为label
),然后将其从其超级视图中删除:
UIViewPropertyAnimator *fadeOutAnimator = [[UIViewPropertyAnimator alloc] initWithDuration:1.5f curve:UIViewAnimationCurveLinear animations:^{
[label setAlpha:0.0f];
}];
[fadeOutAnimator addCompletion:^(UIViewAnimatingPosition finalPosition) {
[label removeFromSuperview];
}];
假设我的应用中发生了其他事件,这使我想让此动画跳到最后并执行其完成处理程序。
我已经尝试将stopAnimation和YES
和NO
参数一起使用,但是在两种情况下,动画显示似乎都因其当前进度而停止;它没有前进到尽头。
如何使动画立即跳到结尾并执行其完成处理程序?
[fadeOutAnimator setFractionComplete:1.0f];
这会立即将动画推进到结束状态,并触发对完成处理程序的调用(如果有的话。)>