@property (weak, nonatomic) IBOutlet UIView *animationView;//动画视图
@property (nonatomic,strong) UIViewPropertyAnimator *animator;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// UIViewPropertyAnimator 是ios 10中新增的一个执行View动画的类 具有一下特点
// 1 可中断性
// 2 可以擦除
// 3 可以反转
// 4 丰富的动画控制功能
// 5 动态
//- (instancetype)initWithDuration:(NSTimeInterval)duration curve:(UIViewAnimationCurve)curve animations:(void (^ __nullable)(void))animations
UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:4 curve:UIViewAnimationCurveEaseInOut animations:^{
self.animationView.frame = CGRectMake(300, 200, 100, 400);
}];
self.animator = animator;
}
//开始动画
- (IBAction)startAnimationAction:(UIButton *)sender {
[self.animator startAnimation];
}
//暂停动画
- (IBAction)pauseAnimationAction:(UIButton *)sender {
[self.animator pauseAnimation];
}
//继续动画
- (IBAction)continueAnimationAction:(UIButton *)sender {
//弹簧动画 阻尼系数
UISpringTimingParameters *param = [[UISpringTimingParameters alloc] initWithDampingRatio:0.1];
[self.animator continueAnimationWithTimingParameters:param durationFactor:1.0];
}
//停止动画
- (IBAction)stopAnimationAction:(UIButton *)sender {
//bool值表示是否在动画执行完毕后停止动画
[self.animator stopAnimation:false];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
@property (nonatomic,strong) UIViewPropertyAnimator *animator;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// UIViewPropertyAnimator 是ios 10中新增的一个执行View动画的类 具有一下特点
// 1 可中断性
// 2 可以擦除
// 3 可以反转
// 4 丰富的动画控制功能
// 5 动态
//- (instancetype)initWithDuration:(NSTimeInterval)duration curve:(UIViewAnimationCurve)curve animations:(void (^ __nullable)(void))animations
UIViewPropertyAnimator *animator = [[UIViewPropertyAnimator alloc] initWithDuration:4 curve:UIViewAnimationCurveEaseInOut animations:^{
self.animationView.frame = CGRectMake(300, 200, 100, 400);
}];
self.animator = animator;
}
//开始动画
- (IBAction)startAnimationAction:(UIButton *)sender {
[self.animator startAnimation];
}
//暂停动画
- (IBAction)pauseAnimationAction:(UIButton *)sender {
[self.animator pauseAnimation];
}
//继续动画
- (IBAction)continueAnimationAction:(UIButton *)sender {
//弹簧动画 阻尼系数
UISpringTimingParameters *param = [[UISpringTimingParameters alloc] initWithDampingRatio:0.1];
[self.animator continueAnimationWithTimingParameters:param durationFactor:1.0];
}
//停止动画
- (IBAction)stopAnimationAction:(UIButton *)sender {
//bool值表示是否在动画执行完毕后停止动画
[self.animator stopAnimation:false];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end