当前位置:编程学习 > wap >>

CATransition类动画

- (void)leftClick {   
  
    [UIView beginAnimations:nil context:nil];  
    //display mode, slow at beginning and end  
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
    //动画时间  
    [UIView setAnimationDuration:1.0f];  
    //使用当前正在运行的状态开始下一段动画  
    [UIView setAnimationBeginsFromCurrentState:YES];  
    //给视图添加过渡效果  
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:imageView cache:YES];  
    [UIView commitAnimations];  
}  
  
- (void)rightClick {  
      
    [UIView beginAnimations:nil context:nil];  
    //display mode, slow at beginning and end  
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
    //动画时间  
    [UIView setAnimationDuration:1.0f];  
    //使用当前正在运行的状态开始下一段动画  
    [UIView setAnimationBeginsFromCurrentState:YES];  
    //给视图添加过渡效果  
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:imageView cache:YES];  
    [UIView commitAnimations];  
      
}  
  
- (void)upClick {   
      
    [UIView beginAnimations:nil context:nil];  
    //display mode, slow at beginning and end  
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
    //动画时间  
    [UIView setAnimationDuration:1.0f];  
    //使用当前正在运行的状态开始下一段动画  
    [UIView setAnimationBeginsFromCurrentState:YES];  
    //给视图添加过渡效果  
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:imageView cache:YES];  
    [UIView commitAnimations];  
}  
- (void)downClick {   
      
    [UIView beginAnimations:nil context:nil];  
    //display mode, slow at beginning and end  
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];  
    //动画时间  
    [UIView setAnimationDuration:1.0f];  
    //使用当前正在运行的状态开始下一段动画  
    [UIView setAnimationBeginsFromCurrentState:YES];  
    //给视图添加过渡效果  
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:imageView cache:YES];  
    [UIView commitAnimations];  
}  
  
/*    
 CATransition的type属性 
  
 1.#define定义的常量 
     kCATransitionFade   交叉淡化过渡 
     kCATransitionMoveIn 新视图移到旧视图上面 
     kCATransitionPush   新视图把旧视图推出去 
     kCATransitionReveal 将旧视图移开,显示下面的新视图 
  
 2.用字符串表示 
     pageCurl            向上翻一页 
     pageUnCurl          向下翻一页 
     rippleEffect        滴水效果 
     suckEffect          收缩效果,如一块布被抽走 
     cube                立方体效果 
     oglFlip             上下翻转效果   
*/  
- (void)MyCAnimation1 {   
      
    CATransition *animation = [CATransition animation];  
    //动画时间  
    animation.duration = 1.0f;  
    //display mode, slow at beginning and end  
    animation.timingFunction = UIViewAnimationCurveEaseInOut;  
    //过渡效果  
    animation.type = kCATransitionMoveIn;  
    //过渡方向  
    animation.subtype = kCATransitionFromTop;  
    //添加动画  
    [imageView.layer addAnimation:animation forKey:nil];  
}  
  
- (void)MyCAnimation2 {   
      
    CATransition *animation = [CATransition animation];  
    //动画时间  
    animation.duration = 1.0f;  
    //display mode, slow at beginning and end  
    animation.timingFunction = UIViewAnimationCurveEaseInOut;  
    //在动画执行完时是否被移除  
    animation.removedOnCompletion = NO;  
    //过渡效果  
    animation.type = @"pageCurl";  
    //过渡方向  
    animation.subtype = kCATransitionFromRight;  
    //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果  
    animation.fillMode = kCAFillModeForwards;  
    //动画停止(在整体动画的百分比).  
    animation.endProgress = 0.7;  
    [imageView.layer addAnimation:animation forKey:nil];  
}  
  
- (void)MyCAnimation3 {   
      
    CATransition *animation = [CATransition animation];  
    //动画时间  
    animation.duration = 1.0f;  
    //display mode, slow at beginning and end  
    animation.timingFunction = UIViewAnimationCurveEaseInOut;  
    //过渡效果  
    animation.type = @"pageUnCurl";  
    //过渡方向  
    animation.subtype = kCATransitionFromRight;  
    //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果  
    animation.fillMode = kCAFillModeBackwards;  
    //动画开始(在整体动画的百分比).  
    animation.startProgress = 0.3;  
    [imageView.layer addAnimation:animation forKey:nil];  
}  
  
- (void)MyCAnimation4 {   
      
    [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(updateButterfly) userInfo:nil repeats:YES];  
补充:移动开发 , IOS ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,