1.2UIDynamic使用步骤
第一步:创建物理仿真器.
第二步:创建相应的物理仿真行为.
第三步:将物理仿真行为添加到物理仿真器,开始仿真.
示例代码:
@interface ViewController ()
// 自定义一个UIView
@property (nonatomic, weak) UIView *redView;
// 定义一个动画者对象
@property (nonatomic, strong) UIDynamicAnimator *animator;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// 创建一个UIView,用于执行动力学行为
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
// 设置背景色为红色
redView.backgroundColor = [UIColor redColor];
// 将自定义view添加到控制器view
[self.view addSubview:redView];
self.redView = redView;
}
// 当点击屏幕的时候调用该方法
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
// 1.创建一个动画者对象并且作用范围为当前控制器view
self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];
// 2.创建动力学行为,并添加作用的动力学元素(红色view)
UIGravityBehavior *gravityBehavior = [[UIGravityBehavior alloc] initWithItems:@[self.redView]];
// 3.将动力学行为添加到动画者
[self.animator addBehavior:gravityBehavior];
}
@end