iOS UIKit物理引擎(六)捕获(UISnapBehavior)

导语

捕获行为是定义一个动态元素运动到指定点,运动过程伴随弹簧效果。

构造

1
2
UISnapBehavior * snapBehavior = 
[[UISnapBehavior alloc] initWithItem:_dynamicItem1View snapToPoint:CGPointMake(250, 400)];
1
- (instancetype)initWithItem:(id <UIDynamicItem>)item snapToPoint:(CGPoint)point NS_DESIGNATED_INITIALIZER;

上面方法为指定构造方法,items参数为添加的动态元素,point
参数为要捕获的点。

属性

  • 捕获点
    1
    @property (nonatomic, assign) CGPoint snapPoint NS_AVAILABLE_IOS(9_0);

该属性的默认值为initWithItem:snapToPoint:方法设置的值,当该属性的值发生改变时,捕获行为会更新,动态元素会向新的捕获点捕获。
我们将点击手势的位置设置为捕获行为的捕获点

1
2
3
4
-(void)click:(UITapGestureRecognizer *)gesture{
    CGPoint point = [gesture locationInView:referenceView];
    _snapBehavior.snapPoint = point;
}

看一下效果:

  • 震动阻尼
    1
    @property (nonatomic, assign) CGFloat damping;

阻尼的有效范围为0.0~1.00.0最大震荡、1.0最小震荡,默认值为0.5

蓝球的阻尼为0.0
黑球的阻尼为1.0

版权声明:出自Jerry LMJ的原创作品,未经作者允许不得转载。

当前网速较慢或者你使用的浏览器不支持博客特定功能,请尝试刷新或换用Chrome、Firefox等现代浏览器