iOS开发中实现动画效果的多种方法

 一、首尾式动画

// 设置开始动画
    [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实现多种动画效果(具体使用方法前面的博客已经讲过,不在介绍)。 

 
 
 
 
 
 
 
 
 
原文地址:https://www.cnblogs.com/xiejw/p/5204065.html