1.9动力学元素UIDynamicItemBehavior自身属性
(一)动力学元素UIDynamicItemBehavior作用
UIDynamicItemBehavior作用:是一个辅助行为,用来设置动力学元素参与物理仿真过程中的参数,如:弹性系数,摩擦系数,密度,阻力,角阻力,以及是否允许旋转等.
(二)UIDynamicItemBehavior常用属性和方法
@property (nonatomic, readonly, copy) NSArray<id <UIDynamicItem>> *items;
// 弹性系数,决定了碰撞时的弹性程度
@property (readwrite, nonatomic) CGFloat elasticity; // Usually between 0 (inelastic) and 1 (collide elastically)
// 摩擦系数,决定了延接触面平滑时的摩擦力有多大
@property (readwrite, nonatomic) CGFloat friction; // 0 being no friction between objects slide along each other
// 密度,根size结合使用,计算物体的总质量,质量越大物体减速或加速越困难.
@property (readwrite, nonatomic) CGFloat density; // 1 by default
// 阻力,决定线性移动的阻力大小,和摩擦系数不同,摩擦系数只作用于摩擦运动
@property (readwrite, nonatomic) CGFloat resistance; // 0: no velocity damping
// 角阻力 ,决定旋转运动时的阻力
@property (readwrite, nonatomic) CGFloat angularResistance; // 0: no angular velocity damping
// 是否允许旋转 在真是物理环境中是没有的.为NO时无论施加到物体上面是什么都不会动
@property (readwrite, nonatomic) BOOL allowsRotation; // force an item to never rotate
// 初始化一个UIDynamicItemBehavior
- (instancetype)initWithItems:(NSArray<id <UIDynamicItem>> *)items;
// 添加一个动力学元素
- (void)addItem:(id <UIDynamicItem>)item;
// 移除一个动力学元素
- (void)removeItem:(id <UIDynamicItem>)item;