动画

//开始一个动画块 
    [UIView beginAnimations:@"View1" context:nil];
    //设置是否激活动画
    [UIView setAnimationsEnabled:YES];
    //设置在动画块内部动画属性改变开始的时间
    [UIView setAnimationStartDate:(NSDate*)startTime];
    //设置动画块中的动画持续时间(用秒) 
    [UIView setAnimationDuration:0.5];
    //设置动画块中的动画属性变化的曲线  
        //UIViewAnimationCurveEaseInOut  开始和结束时动画效果比较慢
        //UIViewAnimationCurveEaseIn       开始动画效果比较慢
        //UIViewAnimationCurveEaseOut     结束动画效果比较慢
       //UIViewAnimationCurveLinear         平滑的动画效果        
        [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];    
    //设置动画块中的动画效果是否自动重复播放
    [UIView setAnimationRepeatAutoreverses:NO];
    //设置动画在动画模块中的重复次数 
    [UIView setAnimationRepeatCount:5];
    //设置动画从当前状态开始
    [UIView setAnimationBeginsFromCurrentState:YES];
    //设置动画消息的代理
    [UIView setAnimationDelegate:self];
    //设置消息给动画代理当动画开始的时候
    [UIView setAnimationWillStartSelector:@selector(resizeAnimationWillStart:context)];
    //设置消息给动画代理当动画停止的时候
    [UIView setAnimationDidStopSelector:@selector(resizeAnimationDidStop:finished:context)];
    //在动画块中为视图设置过渡
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];
    
    //显示在最前面
    [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0]; 
    
    //结束动画 
    [UIView commitAnimations];
原文地址:https://www.cnblogs.com/huluo666/p/3521770.html