UIKit动力学-物理特性UIDynamicItemBehavior

来源:互联网 发布:宣传单用什么软件 编辑:程序博客网 时间:2024/05/16 06:10
本文内容继续跟进上次的内容,也就是

UICollisionBehavior这个类。接下来我们继续学习和了解UIDynamicItemBehavior这个类。

在之前的几篇文章里,我们逐渐的帮助apple对象添加了两种属性,这些属性包括重力属性、碰撞属性。就之前学习的内容,可以清楚的感觉到,UIKit的UIDynamic 就是为了实现物理仿真。物体除了包括重力属性和可碰撞的边界属性。除了这些属性,生活中还有很多物理上物体还包括很多属性,最熟悉如摩擦力、阻力、质量密度等等。apple可以通过UIDynamicItemBehavior这个类来为自己添加上述的属性性,在使用UIDynamicItemBehavior之前,我们先首先简单的了解一下这个类中的属性:

[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. <span style="font-size:14px;">@property (nonatomicreadonlycopy) NSArray* items;  
  2.   
  3. @property (readwritenonatomic) CGFloat elasticity; // Usually between 0 (inelastic) and 1 (collide elastically) 弹性系数 在0~1之间  
  4. @property (readwritenonatomic) CGFloat friction; // 0 being no friction between objects slide along each other 摩擦力系数  
  5. @property (readwritenonatomic) CGFloat density; // 1 by default 跟size大小相关,计算物体块的质量。  
  6. @property (readwritenonatomic) CGFloat resistance; // 0: no velocity damping 阻力系数  
  7. @property (readwritenonatomic) CGFloat angularResistance; // 0: no angular velocity damping 旋转阻力  
  8. @property (readwritenonatomicBOOL allowsRotation; // force an item to never rotate  是否能旋转</span><span style="font-size:24px;">  
  9. </span>  
使用方法:

[objc] view plaincopyprint?在CODE上查看代码片派生到我的代码片
  1. <span style="font-size:14px;">    UIDynamicItemBehavior * itemBehavior = [[UIDynamicItemBehavior alloc] initWithItems:@[apple]];  
  2.     itemBehavior.elasticity = 1.2;  
  3.     itemBehavior.friction = 1.;  
  4.     itemBehavior.density = 10;  
  5.     itemBehavior.resistance = 10;  
  6.     itemBehavior.allowsRotation = NO;  
  7.     itemBehavior.angularResistance = 1;  
  8.     [_animator addBehavior:itemBehavior];</span>  
初始化之后,设置好所有的属性,为他们添加好适当的值。最后添加到_animator中。

点击关注我,更多精彩内容!!!

群号:336146073

0 0
原创粉丝点击