UIDynamic

一、概述

  1. UIDynamic定义:
    UIDynamic是从iOS7开始引入的一种新技术,隶属于UIKit框架
    可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象,比如重力、弹性碰撞等现象。

  2. 物理引擎的价值

  • 广泛用于游戏开发,经典成功案例是“愤怒的小鸟”
  • 让开发人员可以在远离物理学公式的情况下,实现炫酷的物理- 仿真效果
  • 提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏
  1. 知名的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类型的对象

你可能感兴趣的:(UIDynamic)