UIDynamic

作者: 温暖C | 来源:发表于2016-06-13 15:22 被阅读61次

    一、概述

    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

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