iOS开发拓展篇—UIDynamic(简单介绍) 【一】简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟和仿真现实生活中的物理现象 如:重力、弹性碰撞等现象 2.物理引擎的价值 广泛用于游戏开发,经典成功案例是“愤怒的小鸟” 让开发人员可以在远离物理学公式的情况下,实现炫酷的物理仿真效果 提高了游戏开发效率,产生更多优秀好玩的物理仿真游戏 3.知名的2D物理引擎 Box2d Chipmunk 【二】使用步骤 要想使用UIDynamic来实现物理仿真效果,大致的步骤如下 (1)创建一个物理仿真器(顺便设置仿真范围) (2)创建相应的物理仿真行为(顺便添加物理仿真元素) (3)将物理仿真行为添加到物理仿真器中 ? 开始仿真 【三】相关说明 1.三个概念 (1)谁要进行物理仿真? 物理仿真元素(Dynamic Item) (2)执行怎样的物理仿真效果?怎样的动画效果? 物理仿真行为(Dynamic Behavior) (3)让物理仿真元素执行具体的物理仿真行为 物理仿真器(Dynamic Animator) 2.物理仿真元素 注意: 不是任何对象都能做物理仿真元素 不是任何对象都能进行物理仿真 物理仿真元素要素: 任何遵守了UIDynamicItem协议的对象 UIView默认已经遵守了UIDynamicItem协议,因此任何UI控件都能做物理仿真 UICollectionViewLayoutAttributes类默认也遵守UIDynamicItem协议 3.物理仿真行为 (1)UIDynamic提供了以下几种物理仿真行为 UIGravityBehavior:重力行为 UICollisionBehavior:碰撞行为 UISnapBehavior:捕捉行为 UIPushBehavior:推动行为 UIAttachmentBehavior:附着行为 UIDynamicItemBehavior:动力元素行为 (2)物理仿真行为须知 上述所有物理仿真行为都继承自UIDynamicBehavior 所有的UIDynamicBehavior都可以独立进行 组合使用多种行为时,可以实现一些比较复杂的效果 4.物理仿真器 (1)物理仿真器须知 它可以让物理仿真元素执行物理仿真行为 它是UIDynamicAnimator类型的对象 (2)UIDynamicAnimator的初始化 - (instancetype)initWithReferenceView:(UIView *)view; view参数:是一个参照视图,表示物理仿真的范围 5.物理仿真器的说明 (1)UIDynamicAnimator的常见方法 - (void)addBehavior:(UIDynamicBehavior *)behavior; //添加1个物理仿真行为 - (void)removeBehavior:(UIDynamicBehavior *)behavior; //移除1个物理仿真行为 - (void)removeAllBehaviors; //移除之前添加过的所有物理仿真行为 (2)UIDynamicAnimator的常见属性 @property (nonatomic, readonly) UIView* referenceView; //参照视图 @property (nonatomic, readonly, copy) NSArray* behaviors;//添加到物理仿真器中的所有物理仿真行为 @property (nonatomic, readonly, getter = isRunning) BOOL running;//是否正在进行物理仿真 @property (nonatomic, assign) id <UIDynamicAnimatorDelegate> delegate;//代理对象(能监听物理仿真器的仿真过程,比如开始和结束)
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-09-30 05:50:25