gpt4 book ai didi

ios - 早点从 UIViewPropertyAnimator 完成一些动画

转载 作者:行者123 更新时间:2023-11-28 13:46:49 25 4
gpt4 key购买 nike

我正在寻找一种方法来将一些动画添加到 UIViewPropertyAnimator 中,它比其他动画更早完成。UIViewPropertyAnimator 例如有一个方法,您可以在其中添加延迟动画

animator.addAnimations(animation: (()-> Void), delayFactor: CGFloat)

因此动画在 0.5delayFactor 处从持续时间的 50% 处开始。

我搜索类似的东西

animator.addAnimations(动画: (()->Void), realtiveDuration: CGFloat)

所以动画在 0.5relativeDuration 持续时间的 50% 后结束。

经过一些研究,我找到了一个解决方案,使用

animator.addAnimations {
UIView.animateKeyframes(withDuration: duration, delay: 0.0, animations: {
UIView.addKeyframe(withRelativeStartTime: 0.0, relativeDuration: 0.3) {
view.alpha = 0.0
}
})
}

归档此行为。问题是,我想在某种自动化中使用它,在这种自动化中我遍历一些元素并为每个元素调用一个方法:

func animation(view: UIView) -> (() -> Void) {
return {
view.alpha = 0.0
}
}

在使用例如方法时效果很好

animator.addAnimations(动画:element.animation(element.view),delayFactor:0.5)但我不能在

.addKeyframe(...){
element.animation(element.view)
}

也许你们中的一些人有解决方案?我考虑重写 UIViewPropertyAnimator 例如添加请求的方法 animator.addAnimations(animation: (()->Void), realtiveDuration: CGFloat) 或其他东西,但留下我的那里的舒适区。

最佳答案

你可以这样调用:

  UIView.addKeyframe(withRelativeStartTime: 0.5, relativeDuration: 0.5, animations: element.animation(element.view))

关于ios - 早点从 UIViewPropertyAnimator 完成一些动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55307626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com