葵花宝典

UIDynamic-动力特效

2017-01-15  本文已影响11人  lym不解释

UIDynamic是UIKit动力模型,ios7开始的技术,提供一个模拟真实世界中力学相关点动画和交互系统,比如:重力、碰撞、吸附、摩擦力等。

使用步骤

1.创建物理仿真器 (同时设置物理仿真范围)== 相当于运动场
2.创建物理仿真行为(同时设置物理仿真元素)== 行为相当于跑步、元素相当于人
3.将行为添加到仿真器中 == 相当于张三在运动场里跑步

仿真行为有下面几种:

UIGravityBehavior       重力行为
UICollisionBehavior     碰撞行为
UIAttachmentBehavior    吸附行为
UIPushBehavior          推力行为
UISnapBehavior          捕捉行为、闪烁行为
UIAttachmentBehavior    附着行为
UIDynamicItemBehavior   摩擦力


demo:

@property (strong, nonatomic) UIView *redView;

@property (strong, nonatomic) UIDynamicAnimator *anim;

// 懒加载anim

- (UIDynamicAnimator *)anim {
    if(!_anim) {
        _anim = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
    }
    return _anim;
}

- (void)viewDidLoad {
    self.redView = [[UIView alloc] initWithFrame:CGRectmake:(10,10,50,50)];
    self.redView.backGroundColor = [UIColor redColor];
    [self.view addSubViews:self.redView];
}

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
   // 1.创建物理仿真器 
   // 2.创建物理仿真行为
      UIGravityBehavior *gravity = [[UIGravityBehavior  alloc] initWithItems:@[self.redView]];
  //  3.将行为添加到仿真器中
      [self.anim addBehavior:gravity ];
}



上一篇下一篇

猜你喜欢

热点阅读