Skip to content

Latest commit

 

History

History
 
 

UIKitDynamics

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

一篇文章学会使用UIKit Dynamics

动力项(UIDynamicItem)是任何遵守UIDynamicItem协议的对象,相当于现实世界中的一个基本物体。自iOS 7开始,UIViewUICollectionViewLayoutAttributes默认实现了上述协议,你也可以自行实现该协议以便在自定义的类中使用动力效果动画(UIDynamicAnimator),但很少需要这样做。

动力行为(UIDynamicBehavior)为动力项(UIDynamicItem)提供不同的2D物理动画,即指定UIDynamicItem应该如何运动、适用哪些物理规则。在这里UIDynamicBehavior类似一个抽象类,没有实现具体行为,因此一般使用这个类的子类来对一组UIDynamicItem应遵守的行为规则进行描述。UIDynamicBehavior可以独立作用,多个动力行为同时作用时遵守力的合成。

UIKit Dynamics库的核心在于UIDynamicAnimator,其封装了底层iOS物理引擎,是动力行为(UIDynamicBehavior)的容器,动力行为添加到容器内才会发挥作用,为动力项(UIDynamicItem)提供物理相关的功能和动画。

使用动力学(dynamics)的步骤是:配置一个或多个UIDynamicBehavior,其中为每个UIDynamicBehavior指定一个或多个UIDynamicItem,最后添加这些UIDynamicBehaviorUIDynamicAnimator

在这个demo中,使用了UIGravityBehavior、UICollisionBehavior、UIPushBehavior、UIAttachmentBehavior、UISnapBehavior、UIFieldBehavior六种动力行为,详细介绍查看下面文章:

https://github.com/pro648/tips/wiki/一篇文章学会使用UIKit-Dynamics