5.6 iOS甩行为UISnapBehavior

1.6甩行为UISnapBehavior

(一)碰撞行为UICollisionBehavior作用

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

(二)常用属性和方法

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

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

示例代码:

// 当点击屏幕的时候将一个红色的view甩到手指所在的点上
- (void)touchesBegan:(NSSet<UITouch *> *)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];
    
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,615评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,296评论 4 61
  • 参态阅读 134评论 0 0
  • 伴着朦胧的夜,带着几分薄弱的意识,九分昏沉,一分清醒。却道不出刚刚做了些什么惊险刺激美梦。 能不能想象,在春夏交替...
    艾文洱阅读 659评论 0 11
  • 姐妹们月经中出现血块是否属于宫寒的情况?很多人会说是,但是专家介绍到,女性月经中带有血块的原因并不仅仅是因为宫寒原...
    王斌老师阅读 526评论 0 1