1.3物理仿真器(动画者)
(一)物理仿真器的作用
作用:可以让物理仿真元素执行物理仿真行为,是UIDynamicAnimator类的对象.
(二)常用属性和方法
常用属性
// 参照视图
@property (nullable, nonatomic, readonly) UIView *referenceView;
// 所有添加到仿真器上的动力学行为
@property (nonatomic, readonly, copy) NSArray<UIDynamicBehavior*> *behaviors;
// 是否正在进行物理仿真
@property (nonatomic, readonly, getter = isRunning) BOOL running;
// 代理对象,监听物理仿真器的仿真过程(比如,仿真开始仿真结束)
@property (nullable, nonatomic, weak) id <UIDynamicAnimatorDelegate> delegate;
常用方法
// 初始化一个仿真器,view是参考的视图,表示物理仿真的范围.
- (instancetype)initWithReferenceView:(UIView *)view ;
// 添加仿真行为到仿真器
- (void)addBehavior:(UIDynamicBehavior *)behavior;
// 移除一个指定的仿真行为
- (void)removeBehavior:(UIDynamicBehavior *)behavior;
// 移除该仿真器上面的所有仿真行为
- (void)removeAllBehaviors;
注意:一般使用strong修饰仿真器
// 仿真器(动画者)对象
@property (nonatomic, strong) UIDynamicAnimator *animator;
// 创建动画者对象并且作用范围为当前控制器view
self.animator = [[UIDynamicAnimator alloc] initWithReferenceView:self.view];