01-UIDynamic简单演练demo源代码
- 源代码下载:
- //
- // ViewController.m
- // 01.简单演练
- //
- // Created by apple on 13-12-24.
- //技术博客http://www.cnblogs.com/ChenYilong/新浪微博http://weibo.com/luohanchenyilong
- #import "ViewController.h"
- @interface ViewController ()
- {
- UIDynamicAnimator *_animator;
- }
- @end
- @implementation ViewController
- /*
- 要使用UIDynamic的步骤
- 1. 实例化一个仿真者,用于物理仿真
- 参照视图:用于指定仿真的范围
- Box2D,World(仿真世界),10m
- 2. 指定要仿真(模拟)的行为(动作),并指定哪些对象遵守该动作
- 3. 将行为添加到仿真者,仿真立刻开始
- */
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- UIView *view = [[UIView alloc]initWithFrame:CGRectMake(110, 100, 100, 100)];
- view.backgroundColor = [UIColor blueColor];
- [self.view addSubview:view];
- // [view.layer setTransform:CATransform3DRotate(view.layer.transform, M_PI_4, 0, 0, 1)];
- view.transform = CGAffineTransformMakeRotation(M_PI_4);
- UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(80, 50, 50, 50)];
- redView.backgroundColor = [UIColor redColor];
- [self.view addSubview:redView];
- // 1. 谁来仿真?UIDynamicAnimator来负责仿真
- UIDynamicAnimator *animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
- // 2. 仿真个什么动作?自由落体
- UIGravityBehavior *gravity = [[UIGravityBehavior alloc] initWithItems:@[view, redView]];
- // 3. 碰撞检测
- UICollisionBehavior *collision = [[UICollisionBehavior alloc] initWithItems:@[view, redView]];
- // 设置不要出边界,碰到边界会被反弹
- collision.translatesReferenceBoundsIntoBoundary = YES;
- // 4. 开始仿真
- [animator addBehavior:gravity];
- [animator addBehavior:collision];
- //本文永久链接,转载请注明出处:http://www.cnblogs.com/ChenYilong/p/3490312.html
- // 5. 使负责仿真的UIDynamicAnimator对象时刻存在于整个事件中—>创建成员变量记录之.否则出了viewDidLoad就会被销毁.否则出了viewDidLoad就会被销毁,而仿真是个长时间持续存在的事件.
- _animator = animator;
- }
- @end
01-UIDynamic简单演练demo源代码的更多相关文章
- 12.24笔记(关于//UIDynamic演练//多对象的附加行为//UIDynamic简单演练//UIDynamic//(CoreText框架)NSAttributedString)
12.24笔记1.UIDynamic注意点:演示代码:上面中设置视图旋转的时候,需要注意设置M_PI_4时,视图两边保持平衡状态,达不到仿真效果.需要偏移下角度.2.吸附行为3.推动行为初 ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- Dubbo入门—搭建一个最简单的Demo框架
一.Dubbo背景和简介 1.电商系统的演进 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. a.单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一 ...
- GIS之家demo源代码咨询
GIS之家demo源代码咨询收费服务(希望对 webgis 新人有所帮助) GIS之家QQ群(采取QQ群入群收费模式): GIS之家001:296438295 需要入群的giser们,入群之前联系GI ...
- C#可扩展编程之MEF学习笔记(一):MEF简介及简单的Demo
在文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门致力于解决扩展性问题的框架 ...
- iOS开发拓展篇—UIDynamic(简单介绍)
iOS开发拓展篇—UIDynamic(简单介绍) 一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能模拟 ...
- 李洪强iOS开发之拓展篇—UIDynamic(简单介绍)
iOS开发拓展篇—UIDynamic(简单介绍) 一.简单介绍 1.什么是UIDynamic UIDynamic是从iOS 7开始引入的一种新技术,隶属于UIKit框架 可以认为是一种物理引擎,能 ...
- MEF简介及简单的Demo
MEF简介及简单的Demo 文章开始之前,首先简单介绍一下什么是MEF,MEF,全称Managed Extensibility Framework(托管可扩展框架).单从名字我们不难发现:MEF是专门 ...
- Spring源码学习:第1步--在Spring源码中添加最简单的Demo代码
为了最大程度地贴近Spring源码并进行学习,一种比较直接的做法是:直接在Spring源码中加入Demo代码,并进行调试. 参照以前使用Spring的经验,Spring最简单的使用方法是:一个实体类. ...
随机推荐
- 虚拟现实-VR-UE4-创建一个自定义的角色 Character
我学习的资料使用的是老版本的ue4 新版本有好多都是不一样的,好多东西需要自己来摸索, 比如,在老板版本中,默认创建一个GameMode 是回自动创建构造函数发的,而新版本,是没有的,需要自己手动填写 ...
- Python 3基础教程20-Python中导入模块和包
本文介绍Python中导入模块和包 #目录: # 导入模块和包--- # | # 上级包.上级模块.导入模块和包的init模块----- # | # 同级包.同级模块.上级包的init模块.test模 ...
- 【转】Linux学习(1)-常用快捷键、文件管理和查询
原文链接:http://www.cnblogs.com/zhaopei/p/7397402.html 有话要说 为什么要用Linux?要用Linux的原因太多,想说说不完啊. 如果你说用Linux只是 ...
- 命令行编译 WPF
在开发调试代码 WPF 时,经常需要在修改完成代码后,点击 Rebuild,然后到指定文件夹下点击打开对应的 .exe 验证程序是否正确, 可以通过以下命名实现修改程序后,点击一个 .bat 文件,直 ...
- 剑指offer-调整数组顺序使奇数位于偶数前面13
题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变. class Solu ...
- Windows Server 2008 R2 WEB 服务器安全设置指南
http://wenku.baidu.com/view/9b66c51449649b6649d747a2.html?from=search http://wenku.baidu.com/view/84 ...
- 第18讲——string类
关键字:string类 字符串 C-风格字符串 C库字符串函数 字符串:存储在内存的连续字节中的一系列字符. C++处理字符串的方式有两种: 来自C语言,常被称为C-风格字符串: 基于strin ...
- 剑指offer:正则表达式匹配
目录 题目 解题思路 具体代码 题目 题目链接 剑指offer:正则表达式匹配 题目描述 请实现一个函数用来匹配包括'.'和'*'的正则表达式.模式中的字符.表示任意一个字符,而*表示它前面的字符可以 ...
- lintcode-49-字符大小写排序
49-字符大小写排序 给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序. 注意事项 小写字母或者大写字母他们之间不一定要保持在原始字符串中的相对位置. 样例 给出"abAc ...
- 制作用于日期时间型字段的DELPHI数据感知控件
用DELPHI开发C/S应用方便而快速,因为它拥有大量易于使用的数据访问和数据感知控件.然而万事总是难以完美,DELPHI的DBEdit控件用于输入日期时间型字段却很不方便,为了改善这一缺点,笔者开发 ...