iOS-如何制作动画轨迹
实现跟踪触摸的平滑反转动画的最佳方法是什么?我指的是那些动画,例如,如果用户执行一个滑动手势,一些元素在屏幕上平滑地移动,而其他元素则关闭,但如果用户缓慢地来回拖动平移手势,相同的对象将根据触摸位置以百分比的形式向前/向后移动。这在许多应用介绍和过渡中都可以看到。我找到了iOS-如何制作动画轨迹,ios,core-animation,Ios,Core Animation,实现跟踪触摸的平滑反转动画的最佳方法是什么?我指的是那些动画,例如,如果用户执行一个滑动手势,一些元素在屏幕上平滑地移动,而其他元素则关闭,但如果用户缓慢地来回拖动平移手势,相同的对象将根据触摸位置以百分比的形式向前/向后移动。这在许多应用介绍和过渡中都可以看到。我找到了 一个教程讨论了这方面的内置功能,但它只在视图-控制器转换之间进行,没有提供我在许多应用程序中看到的完整粒度控制() Jazzhands,这是IFTTT的一个工具包,但这是一个打包的解决方案,可能不包括如何在较低级别上最好地实
- 一个教程讨论了这方面的内置功能,但它只在视图-控制器转换之间进行,没有提供我在许多应用程序中看到的完整粒度控制()
- Jazzhands,这是IFTTT的一个工具包,但这是一个打包的解决方案,可能不包括如何在较低级别上最好地实现该解决方案()
- 这里有一个问题,其中一个答案显示了在手势结束后如何执行动画()
时间偏移量
决定了该层显示的动画的“帧”。如果一个复杂的动画涉及许多不同的层,没有问题;只需设置它们相互超层的时间偏移量
,即可控制整个动画的帧
事实上,这正是新的iOS 7交互式自定义转换功能的工作原理(您在问题中正确地提到了这一点)。例如,在此示例代码中:
。。。我不断更新UIPercentDrivenTerractiveTransition,告诉它用户通过手势的距离,因此动画会跟踪手势。现在问问自己:这到底是怎么可能的
当然,UIPercentDrivenInteractiveTransition在幕后不断调整层的时间偏移量
,以在相应帧上描绘动画。(实际上,您可以将日志代码添加到我的示例中,以验证这一点。)
此外,当我在一个不完整的点结束手势时,动画要么急速结束,要么向后运行到其开始处-同样,这是因为CAMediaTiming协议,它允许您更改动画的
速度
,包含一个负值以向后运行。这个问题及其答案可能会对您有所帮助。你可以定义一个动画,并通过改变一个符合CAMediaTiming的对象的时间偏移属性,沿着一条路径移动动画。这是一个关于这个主题的非常好的教程:一旦你了解了这一点——一旦硬币掉了,可以说——一个全新的世界打开了。看看苹果公司的技术说明:这个教程就是钱。我不敢相信这比我想象的要简单得多。我从来没有想过用这种方式使用timeOffset+速度属性,但现在它是如此的明显和辉煌。我觉得我在我的应用程序中做了一些非常酷的事情,但是使用这种技术的应用程序总是感觉非常平滑,并且可以很好地与之交互。我等不及要掌握它了。非常感谢你,马特。