该开源框架比苹果的Core Animation功能更强大,我强烈推荐该动画框架。
Facebook Paper 官网:https://www.facebook.com/paper
Facebook Pop 源码:https://github.com/facebook/pop。
在计算机的世界里面,其实并不存在绝对连续的动画,你所看到的屏幕上的动画本质上都是离散的,只是在一秒的时间里面离散的帧多到一定的数量人眼就觉得是连续的了,在iOS中,最大的帧率是60帧每秒。 iOS提供了Core Animation框架,只需要开发者提供关键帧信息,比如提供某个animatable属性终点的关键帧信息,然后中间的值则通过一定的算法进行插值计算,从而实现补间动画。 Core Aniamtion中进行插值计算所依赖的时间曲线由CAMediaTimingFunction提供。 Pop Animation在使用上和Core Animation很相似,都涉及Animation对象以及Animation的载体的概念,不同的是Core Animation的载体只能是CALayer,而Pop Animation可以是任意基于NSObject的对象,包括约束。当然大多数情况Animation都是界面上显示的可视的效果,所以动画执行的载体一般都直接或者间接是UIView或者CALayer。
Facebook Pop其实是基于CADisplayLink(Mac平台上使用的CVDisplayLink)实现的独立于Core Animation之外的动画方案。
有时我们构建的视图或控制器是使用约束的,如果想对该视图或控制器实现动画的话,使用苹果的核心动画就难以做到,而使用Facebok的pop框架就很方便。pop里面,可以给约束加动画,来解决我们刚才提到的问题。
使用方法:找到要改变的约束,给该约束添加动画。
网友评论