gpt4 book ai didi

ios - duration 和 UISpringTimingParameters 在 UIViewPropertyAnimator 中如何交互?

转载 作者:可可西里 更新时间:2023-11-01 05:11:17 25 4
gpt4 key购买 nike

iOS 10 有几个新的动画类。值得注意的包括 UIViewPropertyAnimatorUISpringTimingParameters .属性动画师可以是 created具有持续时间和计时参数 - 计时参数可以是 Spring 参数的实例。

一个普通complaint过去 iOS 中关于 Spring 动画 API 的一个问题是它们需要持续时间——真正的 Spring 动画的持续时间应该由 Spring 属性(如阻尼比和初始速度)决定。 UISpringTimingParameters 可以是 created具有这些类型的参数。

我的问题:UIViewPropertyAnimator 的时序曲线是 Spring 时,是否仍然使用您给它的持续时间?或者它会丢弃持续时间并使用 Spring 参数来计算它吗?就 Apple 而言,这将是一个奇怪的 API 决定,但如此接近为设计师提供他们想要的东西(真正的 Spring )却又没有完全达到目标(强制指定持续时间)似乎也很奇怪。

最佳答案

UIViewPropertyAnimator 类似于 UIView 动画的面向对象版本。注:UISpringTimingParameters包括两种初始化方法: init(dampingRatio: CGFloat, initialVelocity: CGVector) 类似UIView Spring Animation API,是spring动画的简化版; init(mass: CGFloat, stiffness: CGFloat, damping: CGFloat, initialVelocity: CGVector) 类似于 Core Spring Animation API,它是完整的 Spring 动画。

答案: Spring 时间为init(dampingRatio: CGFloat, initialVelocity: CGVector)UIViewPropertyAnimator实例的动画持续时间将是你的持续时间放; Spring 时间为 init(mass: CGFloat, stiffness: CGFloat, damping: CGFloat, initialVelocity: CGVector)UIViewPropertyAnimator 实例的动画持续时间将在这个 Spring 时间计算。很容易验证它。你可以使用我的演示:ControlPanelAnimation .

UIView Spring Animation API 是 Core Spring Animation API 的简化版本,正如你引用的文章所说,UIView Spring Animation API 不擅长真正的振荡,但它很容易控制:大多数时候你确实需要一个动画它的持续时间。核心Spring Animation API:CASSpringAnimation,它具有真正的 Spring 行为但它的持续时间不容易控制,它的动画持续时间取决于它的四个物理参数。

关于ios - duration 和 UISpringTimingParameters 在 UIViewPropertyAnimator 中如何交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38731088/

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