UIDynamic

作者: DDY | 来源:发表于2016-11-17 17:12 被阅读39次

重力行为 gravity

#import "DynamicView.h"

@interface DynamicView ()

// 仿真者
@property (strong, nonatomic) UIImageView *box;
// 仿真环境
@property (strong, nonatomic) UIDynamicAnimator *animator;

@end

@implementation DynamicView

- (instancetype)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        _box = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"Box"]];
        _box.center = self.center;
        [self addSubview:_box];
        _animator = [[UIDynamicAnimator alloc]initWithReferenceView:self];
    }
    return self;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
  // 创建物理行为并赋给执行者
  UIGravityBehavior *gravity = [[UIGravityBehavior alloc]initWithItems:@[self.box]];
  // 设置重力方向
  gravity.gravityDirection = CGVectorMake(1, 0);
  // 设置重力的角度(默认是90°)
  gravity.angle = M_PI_2;
  // 设置重力加速度
  gravity.magnitude = 0.98;
  // 将行为添加到仿真器
  [self.animator addBehavior:gravity];
}
@end

吸附行为 snap

// 在执行捕捉之前,移除之前的行为
[self.animator removeAllBehaviors];
// 获取到触摸点
CGPoint location = [touches.anyObject locationInView:self];
// 创建捕捉行为
UISnapBehavior *snap = [[UISnapBehavior alloc]initWithItem:self.box snapToPoint:location];
    
    //设置防震系数
    //系数在(0~1之间,数值越大震动幅度越小)
    snap.damping = arc4random_uniform(100)/99.0;
    
    
    // 3.添加捕捉行为
    [self.animator addBehavior:snap];

推动行为


刚性附加


弹性附加


碰撞检测


相关文章

  • iOS开发拓展篇—UIDynamic(简单介绍)

    iOS开发拓展篇—UIDynamic(简单介绍) 一、简单介绍 1.什么是UIDynamic UIDynamic是...

  • IOS 物理动画之碰撞、重力

    UIDynamic物理引擎UIDynamic是IOS7引入的一项新技术。他包括UIGravityBehavior:...

  • UIDynamic

    简介 UIDynamic是iOS 7之后新添加的一些物理仿真动画库,包含在UIKit框架中。 UIDynamic中...

  • UIDynamic

    UIDynamic 中的三个重要概念 •Dynamic Animator:动画者,为动力学元素提供物理学相关的能力...

  • UIDynamic

    重力行为 gravity 吸附行为 snap 推动行为 刚性附加 弹性附加 碰撞检测

  • UIDynamic

    一、概述 UIDynamic定义:UIDynamic是从iOS7开始引入的一种新技术,隶属于UIKit框架可以认为...

  • UIDynamic

    物理仿真器 UIDynamicAnimator的常见方法 -(void)addBehavior:(UIDynami...

  • 谈谈iOS中的动力学!!!!

    UIDynamic物理仿真 下面介绍一下各种属性 一、简单介绍 1.什么是UIDynamic 2.物理引擎的价值 ...

  • iOS视频直播(物理仿真引擎全面了解)

    UIDynamic 物理仿真引擎全面了解 UIDynamic 是从 iOS 7开始引入的一种新技术,隶属于UIKi...

  • 重点 (三十二) : UIDynamic

    简介 什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认...

网友评论

      本文标题:UIDynamic

      本文链接:https://www.haomeiwen.com/subject/scodpttx.html