iOS UIKit动力学(六)捕获(UISnapBehavior)

iOS UIKit力学(一)基本介绍(目录)

导语

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

构造

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

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

iOS UIKit动力学(六)捕获(UISnapBehavior)_第1张图片

属性

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

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

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

看一下效果:


iOS UIKit动力学(六)捕获(UISnapBehavior)_第2张图片
  • 震动阻尼
@property (nonatomic, assign) CGFloat damping;

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

iOS UIKit动力学(六)捕获(UISnapBehavior)_第3张图片

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

版权声明:出自MajorLMJ技术博客的原创作品 ,转载时必须注明出处及相应链接!

你可能感兴趣的:(iOS UIKit动力学(六)捕获(UISnapBehavior))