iOS中CATransition 用法(各种风格的跳转页面特效)

来源:互联网 发布:网络奇兵武器 编辑:程序博客网 时间:2024/06/06 06:42
  1. CATransition的type属性   
  2.     
  3.  1.#define定义的常量   
  4.      kCATransitionFade   交叉淡化过渡   
  5.      kCATransitionMoveIn 新视图移到旧视图上面   
  6.      kCATransitionPush   新视图把旧视图推出去   
  7.      kCATransitionReveal 将旧视图移开,显示下面的新视图   
  8.     
  9.  2.用字符串表示   
  10.      pageCurl            向上翻一页   
  11.      pageUnCurl          向下翻一页   
  12.      rippleEffect        滴水效果   
  13.      suckEffect          收缩效果,如一块布被抽走   
  14.      cube                立方体效果   
  15.      oglFlip             上下翻转效果    
  16.   
  17.     
  18. - (void)MyCAnimation1 {     
  19.         
  20.     CATransition *animation = [CATransition animation];    
  21.     //动画时间    
  22.     animation.duration = 1.0f;    
  23.     //display mode, slow at beginning and end    
  24.     animation.timingFunction = UIViewAnimationCurveEaseInOut;    
  25.     //过渡效果    
  26.     animation.type = kCATransitionMoveIn;    
  27.     //过渡方向    
  28.     animation.subtype = kCATransitionFromTop;    
  29.     //添加动画    
  30.     [imageView.layer addAnimation:animation forKey:nil];    
  31. }    
  32.     
  33. - (void)MyCAnimation2 {     
  34.         
  35.     CATransition *animation = [CATransition animation];    
  36.     //动画时间    
  37.     animation.duration = 1.0f;    
  38.     //display mode, slow at beginning and end    
  39.     animation.timingFunction = UIViewAnimationCurveEaseInOut;    
  40.     //在动画执行完时是否被移除    
  41.     animation.removedOnCompletion = NO;    
  42.     //过渡效果    
  43.     animation.type = @"pageCurl";    
  44.     //过渡方向    
  45.     animation.subtype = kCATransitionFromRight;    
  46.     //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果    
  47.     animation.fillMode = kCAFillModeForwards;    
  48.     //动画停止(在整体动画的百分比).    
  49.     animation.endProgress = 0.7;    
  50.     [imageView.layer addAnimation:animation forKey:nil];    
  51. }    
  52.     
  53. - (void)MyCAnimation3 {     
  54.         
  55.     CATransition *animation = [CATransition animation];    
  56.     //动画时间    
  57.     animation.duration = 1.0f;    
  58.     //display mode, slow at beginning and end    
  59.     animation.timingFunction = UIViewAnimationCurveEaseInOut;    
  60.     //过渡效果    
  61.     animation.type = @"pageUnCurl";    
  62.     //过渡方向    
  63.     animation.subtype = kCATransitionFromRight;    
  64.     //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果    
  65.     animation.fillMode = kCAFillModeBackwards;    
  66.     //动画开始(在整体动画的百分比).    
  67.     animation.startProgress = 0.3;    
  68.     [imageView.layer addAnimation:animation forKey:nil];    
  69. }    
0 0