原文:点击打开链接
在iOS7中其实新加了很多新的特性,之前看过,也了解过一些新的内容,如新的动力学特性,TextKit的图文混排,还有自定义的动画跳转等。那段时间也比较忙,没时间整理。现在项目也弄完了,打算在学习旧的东西的同时好好的区了解这些新的内容。
先说下UIDynamicAnimator类,所有仿真行为的父类,这个给我的感觉就跟上先问文一样。或者像是添加手势或者添加视图的感觉,具体往下细说。
UIDynamicBehavior:仿真行为,是动力学行为的父类,基本的动力学行为类UIGravityBehavior、UICollisionBehavior、UIAttachmentBehavior、UISnapBehavior、UIPushBehavior以及UIDynamicItemBehavior均继承自该父类
重力特性
这里我们主要先讲重力特性,先随口说说,曾经有人说三个苹果改变了世界,一个给了乔布斯,一个给了图灵,一个给了牛顿。在初中的时候,我们普遍都接触过牛顿的重力加速度,也就是自由落体运动。(没学过自己百度,补充下),在UIDynamicAnimator的这个类的帮助下,可以帮助我们实现一个视图对象(UIView)可以像高处掉落的苹果一样,加速移动。先创建一个UIDynamicAnimator对象,然后把创建的对象添加到UIDynamicAnimator的对象中。添加一个重力加速度的属性。就跟添加手势是一样的感觉。
.h
- <span style="font-size:14px;">#import <UIKit/UIKit.h>
- @interface ViewController : UIViewController
- {
- UIDynamicAnimator * _animator;
- UIGravityBehavior * _gravity;
- }
- @end</span>
.m
- <span style="font-size:14px;">- (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];
- }</span><span style="font-size: 18px;">
- </span>