5.6 iOS甩行为UISnapBehavior

1.6甩行为UISnapBehavior

(一)碰撞行为UICollisionBehavior作用

作用:可以将view通过动画甩到某一个点

(二)常用属性和方法

// 初始化一个甩行为
- (instancetype)initWithItem:(id )item snapToPoint:(CGPoint)point;

// 具体甩到哪一个点
@property (nonatomic, assign) CGPoint snapPoint;
// 震荡幅度 值从0.0到0.1  值越大幅度越小,反之越大 默认为0.5
@property (nonatomic, assign) CGFloat damping;

示例代码:

// 当点击屏幕的时候将一个红色的view甩到手指所在的点上
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    // 获取UITouch对象
    UITouch *t = touches.anyObject;
    // 获得当前手指所在屏幕的点
    CGPoint p = [t locationInView:self.view];
    
    // 1.创建仿真器
    self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
    
    // 2.创建仿真行为
    UISnapBehavior *snap = [[UISnapBehavior alloc] initWithItem:self.redView snapToPoint:p];
    // 设置震荡幅度  从0.0 到1.0 值越大震荡幅度越小 ,反之越大 默认为0.5
    snap.damping = 1;
    
    // 3.将仿真行为添加到仿真器
    [self.animator addBehavior:snap];
    
}

你可能感兴趣的:(5.6 iOS甩行为UISnapBehavior)