IOS7开发~UIKit Dynamics
UIKit Dynamics的中文名称:有叫UIKit动力,也有叫UIKit动力模型和UIKit动态或者动态UI,叫什么名不要紧,理解就含义就可以了。
什么是UIKit Dynamics ?
UIKit动力提供了一个模拟真实世界中力学相关的动画和交互系统。比如重力、碰撞和吸附等。UIKit动力具有可组合、可重用和声明式的特点。我的理解就是把游戏开发中的物理引擎的搬过来了。
首先简单看几点基础知识:
1、UIDynamicAnimator:
a、
A dynamic animator provides physics-related capabilities and animations for its dynamic items, and providesthe context for those animations. It does this by intermediating between the underlying iOS physics engineand dynamic items, via behavior objects you add to the animator.
UIDynamicAnimator类的作用是起到衔接动力项和view,很重要。
b、
可以有这些作用:(当然,英文不用都理解,明白大致意思就可以,后面看代码就明白了)
All types of dynamic animators share the following characteristics:
Each dynamic animator is independent of other dynamic animators you create
You can associate a given dynamic item with multiple behaviors, provided those behaviors belong to thesame animator
An animator automatically pauses when all its items are at rest, and automatically resumes when a behaviorparameter changes or a behavior or item is added or removed
c、
初始化方法:
– initWithReferenceView:
Initializes a dynamic animator with a specified view as its reference view.
初始化方法里关联view!
d、
UIDynamicAnimator在view中实现的时候,也有其代理方法:
dynamicAnimatorDidPause: 动力项在view中被Pause的时候时候回调此方法
dynamicAnimatorWillResume: 动力项在view中Resume的时候时候回调此方法
2、一些动力项(都是模拟真实物体在现实中的行为)
UIAttachmentBehavior 吸附
UICollisionBehavior 碰撞
UIDynamicItemBehavior 活力(类似真实物体,有活力,更逼真)
UIGravityBehavior 重力(物体受重力影响自由下落)
UIPushBehavior 推动
UISnapBehavior objects 仓促
下看就去看代码吧:官网demo(http://pan.baidu.com/share/link?shareid=1092885049&uk=3674861929)
UIDynamicAnimator_Class 文档下载直通车:http://pan.baidu.com/share/link?shareid=1108425560&uk=3674861929
更多内容请查看官网:https://developer.apple.com/wwdc/schedule/
这个爱学习的人的博客也很有用:http://www.cocoachina.com/newbie/basic/2013/0612/6393.html
注意:
1、如果看代码,或者自己建立项目的时候,出现IOS7的build错误了,那就看看这里吧 http://blog.csdn.net/zfpp25_/article/details/9106573
2、看代码时,会遇到 anchorPoint (锚点)这个游戏中常用的概念,不明白不要紧,看这里 http://blog.csdn.net/zfpp25_/article/details/8641651
虽然官网的例子也有问题,不过新东西,代码太少,将就看吧,由于工作忙,所以没那么多空闲时间,就到这里吧。祝学习快乐。
IOS7开发~UIKit Dynamics的更多相关文章
- WWDC 2013 Session笔记 - UIKit Dynamics入门
本文涉及到的WWDC2013 Session有 1.Session 206 Getting Started with UIKit Dynamics 2.Session 221 Advanced Tec ...
- iOS7开发中的新特性
iOS7到现在已经发布了有一段时间了.相信你现在已经了解了它那些开创性的视觉设计,已经了解了它的新的API,比如说SpirteKit,UIKit Dynamics以及TextKit,作为开发者 ...
- iOS UIKit Dynamics入门 UIKit动力学,实现重力、连接、碰撞、悬挂等动画效果
本文为转载文章 版权归原文所有 什么是UIKit动力学(UIKit Dynamics) 其实就是UIKit的一套动画和交互体系.我们现在进行UI动画基本都是使用CoreAnimation或者UIVie ...
- <iOS 组件与框架> -- UIKit Dynamics
UIKit Dynamics 结合 『iOS 组件与框架 』一书.总结的知识点与demo demo 地址: GitHub地址 一.概述 1.UIKit Dynamics 是 iOS 7 新增的内容.其 ...
- 随手记UIKit Dynamics
以今年的优势WWDC品行,我记得一些明年的元素.一些博客上找到了新的功能没有被记录.认为iOS 8全力以赴.iOS 7该属性不随手记录为时已晚 :) 参考WWDC 2013的Session Video ...
- IOS7开发~新UI学起(一)
本文转载至:http://blog.csdn.net/lizhongfu2013/article/details/9124893 IOS7在UI方面发生了很大改变,所以感觉有必要重新审视的学习一下(新 ...
- iOS 力学动画生成器UIKit Dynamics 之碰撞效果讲解
UIKit Dynamic是iOS7 新增的一组类和方法,可赋予UIView逼真的行为和特征,不需要写动画效果那些繁琐的代码,让开发人员能够轻松地改善应用的用户体验.一共有6个可用于定制UIDynam ...
- iOS 力学动画生成器UIKit Dynamics 之碰撞效果解说
UIKit Dynamic是iOS7 新增的一组类和方法.可赋予UIView逼真的行为和特征,不须要写动画效果那些繁琐的代码,让开发者可以轻松地改善应用的用户体验.一共同拥有6个可用于定制UIDyna ...
- iOS开发UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
随机推荐
- iOS下单例模式实现(一)(objective-c arc gcd)
单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 这里主要介绍下在arc下,利用gcd实现单例. 第一步:声明一个静态实例 static SoundTool *_instan ...
- IOS开发---菜鸟学习之路--(十一)-使新闻内容自适应高度
上一章当中,我们留了一个小BUG. 其实就是浏览新闻的时候,如果文字内容过长的花,UITextView 会有个下拉框,而最底层的UIScrollView也有个下拉框,那么在使用的时候就会非常的不爽. ...
- error C2011: “Picture”:“struct”类型重定义
今天引用外来库时出现问题,也许是版本问题. 错误如下: .....\oursun\cincludes\quickdraw.h(309): error C2011: “Picture”:“struct” ...
- Python基础-week02 Python的常用数据类型
一.模块初识 import导入Py自带模块例如os,sys等及其自己编写的Py文件,导入到其他文件中,默认查找当前目录.如果不在同一目录,会报错,将该自定义py文件模块放到site-packages目 ...
- day02_04.算算多少人
第四题 算算有多少人? 第二题的升级版,看看你能不能做出来 利用你的编程思想去看这道题目,记住不要放过题目的每一个小细节 题目:操场上100多人排队,3人一组多1人,4个一组多2人,5人一组多3人,共 ...
- HDU5857 Median 模拟
Median HDU - 5857 There is a sorted sequence A of length n. Give you m queries, each one contains fo ...
- python发送给邮件 转
这里用到了Python的两个包来发送邮件: smtplib 和 email . Python 的 email 模块里包含了许多实用的邮件格式设置函数,可以用来创建邮件“包裹”.使用的 MIMEText ...
- [HNOI2008][bzoj1009] GT考试 [KMP+矩阵快速幂]
题面 传送门 思路 首先,如果$n$和$m$没有那么大的话,有一个非常显然的dp做法: 设$dp[i][j]$表示长度为i的字符串,最后j个可以匹配模板串前j位的情况数 那么显然,答案就是$\sum_ ...
- AutoDispose代替RxLifecycle优雅的解决RxJava内存泄漏问题
使用过Rxjava的小伙伴都知道,在使用RxJava时如果处理不当,很可能会产生内存泄漏的问题. 我们使用rxjava最大的原因是响应式编程使我们的异步操作代码变得很优雅,在Android中,也使线程 ...
- 0-Android使用Ashmem机制进行跨进程共享内存
Android使用Ashmem机制进行跨进程共享内存 来源: http://blog.csdn.net/luoshengyang/article/details/6651971 导语: 在Androi ...