5.1 iOS UIDynamic

作者: 刘2傻 | 来源:发表于2016-12-31 13:07 被阅读31次

1.1UIDynamic概述

UIKit动力学(Dynamic)最大的特点是将现实世界中动力驱动的动画引入了UIKit,比如中立,碰撞,推动等效果.即将2D物理引擎引入了UIKit.UIKit动力学的引入,并不是为了替代CA或者UIView动画,在绝大多数情况下CA或者UIView动画仍然是最有方案,只有在需要引入逼真的交互设计时候,才需要使用UIKit动力学他是作为现有交互设计和实现的一种补充.

(一)UIDynamic是什么

UIDynamic是从iOS7.0引入的一种新技术,隶属于UIKit框架,能够模拟现实生活中的物理现象如:重力,弹性碰撞等现象,是一种物理引擎.

物理引擎的价值:让开发人员在远离物理学公式的情况下,实现炫酷的物理仿真效果.经典案例:愤怒的小鸟.

(二)UIDynamic重要的概念

UIDynamic中的三个重要概念:

1.Dynamic Animator动画者,
2.Dynamic Animator Item动力学元素,
3.Dynamic Behavior仿真行为.

谁(动力学元素) 在哪(由动画者指定区域) 做什么事情(仿真行为).

1.>Dynamic Animator动画者:为动力学元素提供物理学相关的能力及动画,同时为这些元素提供相关的上下文,是动力学院素与底层iOS物理引擎之间的中介,将Behvior对象添加到Animator即可实现动力仿真.(让物理仿真元素在指定的区域执行具体的仿真行为相当于操场.)
2.>Dynamic Animator Item动力学元素:动力学元素,是任何遵守了UIDynamicItem协议的对象,从iOS7.0开始,UIView和UICollectionViewLayoutAttributes默认实现了该协议.如果自定义的对象实现了该协议,即可通过Dynamic Animator实现物理仿真.(谁要物理仿真?相当于学生)
3.>UIDynamicBehavior仿真行为:仿真行为,是动力学行为的父类
(执行怎样的物理仿真行为?相当跑步)

(三)仿真行为分类

  • UIGravityBehavior 重力行为
  • UICollisionBehavior 碰撞行为
  • UISnapBehavior 捕捉行为
  • UIPushBehavior 推动行为
  • UIAttachmentBehavior 附着行为
  • UIDynamicItemBehavior 动力学元素行为

以上所有的行为都是UIDynamicBehavior的子类,所有的行为都可以单独使用,也可以组合多种行为,实现复杂的物理效果.

UIDynamicBehavior常用属性和方法

// 所有子行为
@property (nonatomic, readonly, copy) NSArray<__kindof UIDynamicBehavior *> *childBehaviors;

// When running, the dynamic animator calls the action block on every animation step.
// 用来监听仿真行为(仿真行为每进行一步物理引擎就会调用这个block)
@property (nullable, nonatomic,copy) void (^action)(void);
// 添加一个子行为
- (void)addChildBehavior:(UIDynamicBehavior *)behavior;
// 移除一个子行为
- (void)removeChildBehavior:(UIDynamicBehavior *)behavior;

相关文章

  • 5.1 iOS UIDynamic

    1.1UIDynamic概述 UIKit动力学(Dynamic)最大的特点是将现实世界中动力驱动的动画引入了UIK...

  • iOS开发拓展篇—UIDynamic(简单介绍)

    iOS开发拓展篇—UIDynamic(简单介绍) 一、简单介绍 1.什么是UIDynamic UIDynamic是...

  • IOS 物理动画之碰撞、重力

    UIDynamic物理引擎UIDynamic是IOS7引入的一项新技术。他包括UIGravityBehavior:...

  • UIDynamic

    简介 UIDynamic是iOS 7之后新添加的一些物理仿真动画库,包含在UIKit框架中。 UIDynamic中...

  • iOS视频直播(物理仿真引擎全面了解)

    UIDynamic 物理仿真引擎全面了解 UIDynamic 是从 iOS 7开始引入的一种新技术,隶属于UIKi...

  • 重点 (三十二) : UIDynamic

    简介 什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认...

  • iOS物理仿真

    ————————————【 iOS—UIDynamic 】————————————— 一、简单介绍 1.什么是UI...

  • UIDynamic

    一、概述 UIDynamic定义:UIDynamic是从iOS7开始引入的一种新技术,隶属于UIKit框架可以认为...

  • UIDynamic 详细用法

    什么是UIDynamic?UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种...

  • IOS 物理引擎UIDynamic

    什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架可以认为是一种...

网友评论

    本文标题:5.1 iOS UIDynamic

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