初窥UIKit Dynamics
来源:互联网 发布:淘宝双11直播间 编辑:程序博客网 时间:2024/06/06 00:38
iOS7中可以方便的给物体添加动态物理特性,主要使用到UIDynamicAnimator,UIDynamicBehavior以及实现了UIDynamicItem协议的对象。在iOS7中,UIView和UICollectionViewLayoutAttributes是默认实现了UIDynamicItem的。我们先看看三者的关系:
UIDynamicAnimator首先通过reference view来初始化,referenceview主要提供动画的场地坐标,UIDynamicBehavior通过要生成动画的view来生成,然后添加到UIDynamicAnimator。 Animator可以添加多个Behavior(但某些类型的behavior不能重复添加),Behavior也可以包含多个view,view同时也可以与多个behavior相联系。因此,大致的实现逻辑:
- 初始化UIDynamicAnimator:需要确定reference view
- 生成所需要的Dynamic Behaviors
- 将Behaviors添加到Animator中
iOS7提供了一些封装好的behavior,有 gravtivity,push,collision,snap和attachment。通过API文档,上手应该很容易。我自己做了个例子,基本就是一些基本功能的实现,有兴趣的可以看看。
在behavior中可以指定“力”的大小和方向。在现实生活中: 1N=1kg·m/s^2,而在UIKit中,1N定义为:
Accelerate a (100,100) view to 100 p/s^2
简单说就是将100×100大小的view加速到 100p/s^2所需要的“力”。
UIGravityBehavior
可以指定引力的大小和方向,注意同一个behavior不要重复添加
UICollisionBehavior
可以设置碰撞的items,路径或边界,有3种碰撞模式:
- 选中的items之间碰撞
- 和设定的boundary边界碰撞
- 包含上述所有的碰撞
UIAttachmentBehavior
可以选择锚点和item的重心偏移;并且可以设置阻尼(弹性系数),频率等
UISnapBehavior
snap可以将item移动到指定位置,可以设定阻尼
UIPushBehavior
可以设置矢量推力的方向和大小,还有力的作用点,有两种模式
- UIPushBehaviorModeContinuous:力持续的施加
- UIPushBehaviorModeInstantaneous:力施加后就消失
- 初窥UIKit Dynamics
- UIKit Dynamics
- UIKit Dynamics
- iOS7新特征汇总[05]初窥UIKit动力(UIKit Dynamics)
- iOS7新特征汇总[05]初窥UIKit动力(UIKit Dynamics)
- iOS7新特征汇总[05]初窥UIKit动力(UIKit Dynamics)
- iOS7新特征汇总[05]初窥UIKit动力(UIKit Dynamics)
- iOS7新特征汇总[05]初窥UIKit动力(UIKit Dynamics)
- iOS7新特征汇总[05]初窥UIKit动力(UIKit Dynamics)
- UIKit动力学(UIKit Dynamics)
- IOS7开发~UIKit Dynamics
- UIKit Dynamics入门
- Introduction to UIKit Dynamics
- UIKit Dynamics Tutorial
- 【iOS开发】UIKit Dynamics
- UIKit Dynamics Tutorial
- IOS7 UIKit Dynamics Tutorial
- UIKit Dynamics入门
- CSDN编程挑战之彩色石子(使用暴力破解法)
- Java排序算法优化--插入排序【温故而知新】
- 线程安全之Collections.synchronizedList
- android开发笔记之也谈android开发入门
- Myeclipse10下java.lang.OutOfMemoryError: Java heap space的解决办法
- 初窥UIKit Dynamics
- mina serial 串口
- 友元函数(相当于C#的属性)
- Spring3与hibernate4集中式声明事务管理
- j2ee学习流程
- C#对话框全接触
- unity--通过部件名称的子字符串找到部件
- herror()错误信息打印
- C++ set