我有一个带有UIViewPropertyAnimator *的变量,目前正在进行动画处理。例如,下面是一个名为fadeOutAnimator的UIViewPropertyAnimator,它“淡出”一个UILabel (名为label),然后将其从其superview中删除:
UIViewPropertyAnimator *fadeOutAnimator = [[UIViewPropertyAnimator alloc] initWithDuration:1.5f curve:UIViewAnimationCurveLinear animations:^{
[label setAlpha:0.0f];
}];
[fadeOutAnimator addCompletion:^(UIViewAnimatingPosition finalPosition) {
[label removeFromSuperview];
}];假设我的应用程序中发生了一些其他事件,使我希望将此动画跳到末尾,并执行其完成处理程序。
我尝试将stopAnimation方法与其YES和NO参数一起使用,但在这两种情况下,动画显示似乎只是在当前进度处停止;它不会前进到最后。
如何让动画立即跳到结尾,并执行它的完成处理程序?
发布于 2019-10-04 03:40:24
这可以通过将UIViewPropertyAnimator的fractionComplete属性设置为1.0 (即100%完成)来完成。示例:
[fadeOutAnimator setFractionComplete:1.0f];这会立即使动画前进到其结束状态,并触发对完成处理程序(如果有的话)的调用。
https://stackoverflow.com/questions/58225864
复制相似问题