使用iOS 10的新UIViewPropertyAnimator动画约束

在WWDC 2016期间的Session 216中,Apple宣布对UIKit动画进行了相当低估的更新,该更新将标准的UIView.animate(),关键帧动画甚至Facebook的POP框架彻底抛弃了。 它称为UIViewPropertyAnimator ,它允许高度交互可自定义的动画。 您可以在此处阅读有关此内容的更多信息,并在此处学习基础知识。

在尝试使用UIViewPropertyAnimator并了解适用于其停止和非活动状态的所有不同规则之后,我尝试通过设置约束动画来将事情提升到一个新的水平。 我发现这非常强大,因为您可以使用UIViewPropertyAnimator的.fractionComplete()方法控制动画的进度。

我想在这个交互式汉堡菜单中分享一个约束动画的示例,该菜单受Javi Perez的Nominazer应用程序的启发。

我首先使用UIViewPropertyAnimator的实例,使用平移手势识别器更新.fractionComplete(),将汉堡包中的三行融合为一行。

当用户结束平移手势时,UIView.animate()块会形成一个“ X”。

然后,用户可以使用新的UIViewPropertyAnimator将X的行收敛为一行。

最后,UIView.animate()块用于形成原始的三行汉堡。

如您所见,UIKit的较早的动画方法可以与UIViewPropertyAnimator结合使用,以创建与UI的无缝交互。

您可以在我的GitHub页面上下载此交互式汉堡的代码。 (请注意,上面有很多个人笔记。)

回到当前的主题: 动画约束。

同样,您可以在此处下载该项目的完整源代码。