如果又细心的朋友会发现,iphone的自带短信息的信息列表在拖拽滑动的时候,每一个cell会有惯性的动画效果,这个我也是从网上找到一些资料,最后知道早在2013年苹果就对这个进行了设计,大家看看这个https://onevcat.com/2013/09/spring-list-like-ios7-message/,这个是喵神(王巍)在2013年的时候写的文章,里面详细讲述了UIKit DyaDynamic的由来以及使用方式.
DyaDynamic主要是用来描述对象的力学性质的,比如我们的cell是一个view(可以看成一个有质量,有大小的物体),用DyaDynamic来修饰这个cell就会有很多一般很难实现的动画效果的展示,比如重力,推力,拉力,碰撞等等
DyaDynamic的核心类有以下几个:
UIDynamicItem:用来描述一个物体的力学特性,是一个协议,只要遵守了这个协议的对象,就可以添加力学特性了.
UIDynamicBehavior:动力行为的描述,用来添加到"实体"上的受力类型,是一个基类,我们一般使用它的子类.
UIDynamicAnimator:动画播放者,之前说的虽然我们给对象添加了力学特性,但是毕竟都是虚拟的,所谓的力学特性只不过是我们肉眼看到的动画效果,所以需要一个动画来播放这些特效,将力学行为添加到这个动画里面就会"看到"力学特性了.
RefernceView:参考对象,一切物体的运动都是相对的,我们说的汽车的行驶速度是相对于地面而言的,这时候地面就是参考对象,我们要描述一个物体的力学运动必须要有