一、首尾式动画
// 设置开始动画 [UIView beginAnimations:nil context:nil]; //设置动画时长 [UIView setAnimationDuration:2.0]; //设置实现动画的代码 self.redView.alpha =0; //将beginAnimation之后的所有动画提交并生成动画 [UIView commitAnimations];
注意:在实际开发中,如果只是修改控件的属性,使用首尾式动画还是比较方便的,但是如果需要在动画完成后做后续处理,就不是那么方便。
二、block代码块动画
//使用block代码块实现 [UIView animateWithDuration:2.0 animations:^{ self.redView.alpha=0; } completion:^(BOOL finished) { [self.redView removeFromSuperview]; }];
三、通过UIView实现转场动画-单视图
+ (void)transitionWithView:(UIView *)view duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options animations:(void (^)(void))animations completion:(void (^)(BOOL finished))completion;
■参数说明:
duration:动画的持续时间
view:需要进行转场动画的视图
options:转场动画的类型
animations:将改变视图属性的代码放在这个block中
completion:动画结束后,会自动调用这个block
UIView transitionWithView:_redView duration:3 options: UIViewAnimationOptionTransitionFlipFromTop animations:^{ self.redView.alpha=0; } completion:^(BOOL finished) { self.redView.alpha=1; }];
四、通过UIView实现转场动画-双视图
+ (void)transitionFromView:(UIView *)fromView toView:(UIView *)toView duration:(NSTimeInterval)duration options:(UIViewAnimationOptions)options completion:(void (^)(BOOL finished))completion;
■参数说明:
duration:动画的持续时间
options:转场动画的类型
animations:将改变视图属性的代码放在这个block中
completion:动画结束后,会自动调用这个block
[UIView transitionFromView:_redView toView:_greenView duration:3 options:UIViewAnimationOptionTransitionFlipFromTop completion:^(BOOL finished) { self.redView.alpha=0; }];
五、通过Core Animation实现多种动画效果(具体使用方法前面的博客已经讲过,不在介绍)。