iOS7 UIKit动力学-碰撞特性UICollisionBehavior 上
来源:互联网 发布:宣传单用什么软件 编辑:程序博客网 时间:2024/06/05 06:57
上文我们讲到了重力属性UIGravityBehavior这个类。很明显当我们为视图加上了重力的属性之后,这个苹果的UIview就如同掉入了无底洞,不断地下坠,不断的加速。而现在呢,我们要在这个手机屏幕上,添加一个地面。使不断下落的苹果最终有一个着陆点。那么我们如何为这个视图添加一个地面呢,如下(当前内容承接上文内容,如有问题,请看上文:UIGravityBehavior):
首先在.h文件中创建一个UICollisionBehavior对象
.h:
- #import <UIKit/UIKit.h>
- @interface ViewController : UIViewController
- {
- UIDynamicAnimator * _animator;
- UIGravityBehavior * _gravity;
- //new
- UICollisionBehavior * _ground;
- }
- @end
然后在.m文件中为UICollisionBehavior对象进行初始化,并为apple对象设置边框属性。
- - (void)viewDidLoad
- {
- [super viewDidLoad];
- UIView * apple = [[UIView alloc] initWithFrame:CGRectMake(40,40, 40, 40)];
- apple.backgroundColor = [UIColor redColor];
- [self.view addSubview:apple];
- _animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
- _gravity = [[UIGravityBehavior alloc] initWithItems:@[apple]];
- [_animator addBehavior:_gravity];
- /* UICollisionBehavior */
- _ground = [[UICollisionBehavior alloc] initWithItems:@[apple]];
- _ground.translatesReferenceBoundsIntoBoundary = YES;
- [_animator addBehavior:_ground];
- }
这里,以上的代码创建了一个碰撞的行为,它定义了一个或者多个边界交互的特性,这里没有显示的为各个空间添加边界,而是隐式的调用了一个UICollisionBehavior的属性translatesReferenceBoundsIntoBoundary,将这个属性设置为YES之后。会使边界引用使用视图提供的UIDynamicAnimator边界。构建和运行,你就会看到效果,apple落到地上弹起来了,又重新落到地上。
群号:336146073
0 0
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 上
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 上
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 上
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 下
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 下
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 下
- iOS7 UIKit动力学-重力特性UIGravityBehavior
- iOS7 UIKit动力学-重力特性UIGravityBehavior
- iOS7 UIKit动力学-重力特性UIGravityBehavior
- iOS7 UIKit动力学-重力特性UIGravityBehavior
- iOS7 UIKit动力学-重力特性UIGravityBehavior
- UIKit动力学-物理特性UIDynamicItemBehavior
- UIKit动力学-物理特性UIDynamicItemBehavior
- UIKit动力学-物理特性UIDynamicItemBehavior
- 如何在iOS7中使用UIKit动力之UICollisionBehavior
- UICollisionBehavior-动画效果:碰撞
- UIKit动力学(UIKit Dynamics)
- Swift中的UIKit动力学
- 银泰小额贷款《可靠吗》?287406127加我
- [论文学习]2014.04.29南开大学LCOS技术研究进展
- 卡勒特如何撒非常过得去的
- iOS7 UIKit动力学-重力特性UIGravityBehavior
- Java流类图结构
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 上
- 远程访问服务器文件夹命令
- Androidpn学习笔记-客户端代码分析
- Common.LanguageManager 国际化 part2/part5 LanguageManager.cs
- iOS7 UIKit动力学-碰撞特性UICollisionBehavior 下
- jQuery .serialize() .serializeArray() .serializeObject()
- xcode的bundle identifier修改
- Mac 点击dock图标显示窗口,点击关闭按钮隐藏窗口
- cocos2d 背景滚动 移动 无限