UIDynamic--简介

1.什么是UIKite动力学

•UIKit动力学最大的特点是将现实世界动力驱动的动画引入了UIKit,

比如重力,铰链连接,碰撞,悬挂等效果,即将2D物理引擎引入了UIKit

•注意:UIKit动力学的引入,并不是为了替代CA或者UIView动画,在

绝大多数情况下CA或者UIView动画仍然是最优方案,只有在需要引

入逼真的交互设计的时候,才需要使用UIKit动力学它是作为现有交互

设计和实现的一种补充

•其他2D仿真引擎:

➢BOX2D:C语言框架,免费

➢Chipmunk:C语言框架免费,其他版本收费


2.UIDynamic中三个重要的概念

*Dynamic Animator:动画者,为动力学元素提供物理学相关的能力及动画,同时为这些元素提供相关的上下文,是动力学元素与底层iOS物理引擎之间的中介,将Behavior对象添加到Animator即可实现动力仿真

*Dynamic Animator Item:动力学元素,是任何遵守了UIDynamicItem协议的对象,从iOS 7.0开始,UIView和UICollectionViewLayoutAttributes默认实现该协议。如果自定义的对象实现了该协议,即可通过Dynamic Animator实现物理仿真

*UIDynamicBehavior:仿真行为,是动力学行为的父类,基本的动力学行为类UIGravityBehavior、UICollisionBehavior、UIAttachmentBehavior、UISnapBehavior、UIPushBehavior以及UIDynamicItemBehavior均继承自该父类


3.动力学动画元素(Dynamic Animator Item)协议

•只有遵守了UIDynamicItem协议的对象才可以参与到UI动力学仿真中

•从iOS 7开始,UIView和UICollectionViewLayoutAttributes类默认实现了该协议

•协议定义的属性:

➢bounds:Dynamic animator需要动画元素的边框时调用,只读属性,用于计算物体的边界以及质量

➢center:动力学元素的中心点,读写属性

➢transform:动力学元素的旋转角度,读写属性(需要指定Layer的形变属性)


4.动力学行为的分类:

• iOS7.0中提供的动力学行为包括:

➢UIGravityBehavior:重力行为

➢UICollisionBehavior:碰撞行为

➢UIAttachmentBehavior:附着行为

➢UISnapBehavior:吸附行为

➢UIPushBehavior:推行为

➢UIDynamicItemBehavior:动力学元素行为

组合使用可以实现一些较为复杂的效果

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、简单介绍1.什么是UIDynamicUIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架...
    哈么么茶阅读 2,880评论 0 0
  • 本文中所有代码演示均有GitHub源码,点击下载 UIDynamic简介 简介:UIKit动力学最大的特点是将现实...
    si1ence阅读 13,512评论 8 79
  • 目录 ** UIView 动画 ** ** Core Animation ** ** FaceBook POP动画...
    方向_4d0d阅读 5,688评论 0 3
  • UIKit动力学最大的特点是将现实世界动力驱动的动画引入了UIKit,比如重力,铰链连接,碰撞,悬挂等效果,即将2...
    BarleyZ阅读 5,096评论 0 49
  • 一、定时任务 方法1:performSelector 方法2:GCD 方法3:NSTimer NSTimer「定时...
    _凉风_阅读 5,147评论 2 8

友情链接更多精彩内容