一、概述
UIDynamic定义:
UIDynamic是从iOS7开始引入的一种新技术,隶属于UIKit框架
可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象,比如重力、弹性碰撞等现象。物理引擎的价值
- 广泛用于游戏开发,经典成功案例是“愤怒的小鸟”
- 让开发人员可以在远离物理学公式的情况下,实现炫酷的物理- 仿真效果
- 提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏
- 知名的2D物理引擎
- Box2d
- Chipmunk
二、使用步骤
用UIDynamic来实现物理仿真效果,大致的步骤如下:
1.创建一个物理仿真器(顺便设置仿真范围)
2.创建相应的物理仿真行为(顺便添加物理仿真元素)
3.将物理仿真行为添加到物理仿真器中
4.开始仿真
三、三大概念
1.物理仿真元素(Dynamic Item)
谁要进行物理仿真?
2.物理仿真行为(Dynamic Behavior)
执行怎样的物理仿真效果?怎样的动画效果?
3.物理仿真器(Dynamic Animator)
让物理仿真元素执行具体的物理仿真行为
注意
不是任何对象都能做物理仿真元素
不是任何对象都能进行物理仿真
4.哪些对象才能做物理仿真元素呢?
任何遵守了UIDynamicItem协议的对象:
UIView默认已经遵守了UIDynamicItem协议,因此任何UI控件都能做物理仿真
UICollectionViewLayoutAttributes类默认也遵守UIDynamicItem协议
5.UIDynamic提供了以下几种物理仿真行为
UIGravityBehavior:重力行为
UICollisionBehavior:碰撞行为
UISnapBehavior:捕捉行为
UIPushBehavior:推动行为
UIAttachmentBehavior:附着行为
UIDynamicItemBehavior:动力元素行为
6.物理仿真行为须知
上述所有物理仿真行为都继承自UIDynamicBehavior
所有的UIDynamicBehavior都可以独立进行
组合使用多种行为时,可以实现一些比较复杂的效果
7.物理仿真器须知
它可以让物理仿真元素执行物理仿真行为
它是UIDynamicAnimator类型的对象