- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
iOS 10 有几个新的动画类。值得注意的包括 UIViewPropertyAnimator
和 UISpringTimingParameters
.属性动画师可以是 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/
我正在尝试在用户的平移手势释放的 View 上执行 Spring 动画,并且可能具有非零速度。我基本上是在尝试重新制作 this WWDC video 的动画他们在哪里使用 UISpringTimin
在接触了 UIViewPropertyAnimator 之后,我发现 .isReversed 就像倒放电影一样简单地向后播放动画。是否可以通过自定义三次计时参数将“弹性”应用于反向动画,该参数仅适用于
iOS 10 有几个新的动画类。值得注意的包括 UIViewPropertyAnimator和 UISpringTimingParameters .属性动画师可以是 created具有持续时间和计时参
我是一名优秀的程序员,十分优秀!