一、UIGravityBehavior,重力行为, 1.接下来啊,我们一个一个来做, 新建一个项目,叫做:01-重力, 接下来,我们在这个ViewController里边, ViewDidLoad:里边,先写一段简单的代码, 我们写这么一段简单的代码,新建一个红色的UIView,把它显示在屏幕上, UIView *redView = [[UIView alloc] init]; redView.backgroundColor = [UIColor redColor]; redView.frame = CGRectMake(100,100,100,100); [self.view addSubview:redView]; 然后,command + R, 2.接下来,我们来做重力行为, 然后呢,怎么着做,首先呢,我是这个样子的,当我点击屏幕的时候,就给这个红色的View,给它添加一个重力, 然后,它有重力了以后,它就会自然的往下去落, 我一点击屏幕,然后给它添加一个重力,好,那,首先,我点击屏幕啊, 选中这句话,删掉,先给它来一个touchBegan:啊, - (void)touchesBegan:(NSSet < UITouch * >*)touches withEvent:(UIEvent *)event{ } // 点击屏幕的时候调用 接下来,我们要去给这个红色的View,去添加一个东西, 所以,我肯定要在这个里边,去拿到这个View, 所以呢,我先来一个全局的,xWeak, @property(nonatomic,weak)type *name; @property(nonatomic,weak)UIView *redView; 然后呢,给全局属性赋值, self.redView = redView; 然后呢,我们在这儿,就开始来说啊, 我要添加一个,我要使用Dynamic的话,不仅仅是重力,步骤都是一样的,首先, 1)根据某一个范围,创建动画者对象 这是第一,首先,我要有一个做动画的东西,然后,我要做动画的话,你要告诉我在哪儿做动画,所以,你要告诉我一个View,你要告诉我一个范围,我才能够在这个范围里边,帮你去做动画, 这是动画者对象,就是一个范围,一个View, 2)根据某一个动力学元素,也就是我们所说的这个某一个View,然后呢,根据某一个动力学元素,创建行为, 3)把行为添加到动画者当中 就是这三步: 好,你做其他的东西,也是这三步, 都是一样的啊,首先呢,根据一个范围,创建一个动画者对象, 1)根据某一个范围 创建动画者对象 那么,这个动画者对象,叫做UIDynamicAnimator, UIDynamicAnimator *animator = [UIDynamicAnimator alloc] init 好,init,这块儿有一个叫做initWithReferenceView(UIView *) instancetype initWithReferenceView:(UIView