UIKit Dynamics (一) 概述
UIKit Dynamics (二) 重力
UIKit Dynamics (三) 碰撞
UIKit Dynamics (四) 急停
UIKit Dynamics (五) 施力
UISnapBehavior
UISnapBehavior 定义了一个 item 将会移动到一个特定的位置,并且在改位置附近进行一个类似于急停的弹簧效果。即实现了两部分动画,移动动画和急停动画。
使用
UISnapBehavior 的使用非常简单,只有一个实例化函数。函数传递两个参数,一个是要移动的 item,另一个是移动到的位置。
CGPoint anchorPoint = [sender locationInView:_container];
_snapBehavior = [[UISnapBehavior alloc] initWithItem:_box snapToPoint:anchorPoint];
[_animator addBehavior:_snapBehavior];
配置
UISnapBehavior 的配置也很简单,只有两个属性,一个属性 snapPoint 是将要移动到的位置,初始值是实例化函数传入的值;另一个属性 damping 阻尼即控制急停过程中组力的大小,取值范围为 0~1,默认值为 0.5,damping 越大急停越稳定,越小越剧烈。
@property (nonatomic, assign) CGPoint snapPoint
@property (nonatomic, assign) CGFloat damping;
本文 demo 是 Snap 页面,可以通过拖动 slider 调节 dumpling 大小,项目地址