• 翻页动画效果


     1 typedef enum : NSUInteger {
     2     Fade = 1,                   //淡入淡出
     3     Push,                       //推挤
     4     Reveal,                     //揭开
     5     MoveIn,                     //覆盖
     6     Cube,                       //立方体
     7     SuckEffect,                 //吮吸
     8     OglFlip,                    //翻转
     9     RippleEffect,               //波纹
    10     PageCurl,                   //翻页
    11     PageUnCurl,                 //反翻页
    12     CameraIrisHollowOpen,       //开镜头
    13     CameraIrisHollowClose,      //关镜头
    14     CurlDown,                   //下翻页
    15     CurlUp,                     //上翻页
    16     FlipFromLeft,               //左翻转
    17     FlipFromRight,              //右翻转
    18     
    19 } AnimationType;
      1 - (IBAction)tapButton:(id)sender {
      2  
      3     UIButton * button = sender;
      4     AnimationType animationType = button.tag;
      5     
      6     NSString * subtypeString;
      7     
      8     switch (_subtype) {
      9         case 0:
     10             subtypeString = kCATransitionFromLeft;
     11             break;
     12         case 1:
     13             subtypeString = kCATransitionFromBottom;
     14             break;
     15         case 2:
     16             subtypeString = kCATransitionFromRight;
     17             break;
     18         case 3:
     19             subtypeString = kCATransitionFromTop;
     20             break;
     21         default:
     22             break;
     23     }
     24     
     25     _subtype += 1;
     26     if (_subtype > 3) {
     27         _subtype = 0;
     28     }
     29 
     30     
     31     switch (animationType) {
     32         case Fade:
     33             [self transitionWithType:kCATransitionFade WithSubtype:subtypeString ForView:self.view];
     34             break;
     35         
     36         case Push:
     37             [self transitionWithType:kCATransitionPush WithSubtype:subtypeString ForView:self.view];
     38             break;
     39             
     40         case Reveal:
     41             [self transitionWithType:kCATransitionReveal WithSubtype:subtypeString ForView:self.view];
     42             break;
     43             
     44         case MoveIn:
     45             [self transitionWithType:kCATransitionMoveIn WithSubtype:subtypeString ForView:self.view];
     46             break;
     47             
     48         case Cube:
     49             [self transitionWithType:@"cube" WithSubtype:subtypeString ForView:self.view];
     50             break;
     51         
     52         case SuckEffect:
     53             [self transitionWithType:@"suckEffect" WithSubtype:subtypeString ForView:self.view];
     54             break;
     55             
     56         case OglFlip:
     57             [self transitionWithType:@"oglFlip" WithSubtype:subtypeString ForView:self.view];
     58             break;
     59             
     60         case RippleEffect:
     61             [self transitionWithType:@"rippleEffect" WithSubtype:subtypeString ForView:self.view];
     62             break;
     63             
     64         case PageCurl:
     65             [self transitionWithType:@"pageCurl" WithSubtype:subtypeString ForView:self.view];
     66             break;
     67             
     68         case PageUnCurl:
     69             [self transitionWithType:@"pageUnCurl" WithSubtype:subtypeString ForView:self.view];
     70             break;
     71             
     72         case CameraIrisHollowOpen:
     73             [self transitionWithType:@"cameraIrisHollowOpen" WithSubtype:subtypeString ForView:self.view];
     74             break;
     75             
     76         case CameraIrisHollowClose:
     77             [self transitionWithType:@"cameraIrisHollowClose" WithSubtype:subtypeString ForView:self.view];
     78             break;
     79         
     80         case CurlDown:
     81             [self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionCurlDown];
     82             break;
     83         
     84         case CurlUp:
     85             [self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionCurlUp];
     86             break;
     87             
     88         case FlipFromLeft:
     89             [self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionFlipFromLeft];
     90             break;
     91             
     92         case FlipFromRight:
     93             [self animationWithView:self.view WithAnimationTransition:UIViewAnimationTransitionFlipFromRight];
     94             break;
     95 
     96         default:
     97             break;
     98     }
     99     
    100     static int i = 0;
    101     if (i == 0) {
    102         [self addBgImageWithImageName:IMAGE1];
    103         i = 1;
    104     }
    105     else
    106     {
    107         [self addBgImageWithImageName:IMAGE2];
    108         i = 0;
    109     }
    110     
    111 }
     1 #pragma CATransition动画实现
     2 - (void) transitionWithType:(NSString *)type WithSubtype:(NSString *) subtype ForView : (UIView *) view
     3 {
     4     //创建CATransition对象
     5     CATransition * animation = [CATransition animation];
     6     
     7     //设置运动时间
     8     animation.duration = DURATION;
     9     
    10     //设置运动type
    11     animation.type = type;
    12     if (subtype != nil) {
    13         //设置子类
    14         animation.subtype = subtype;
    15     }
    16     
    17     //设置运动速度
    18     animation.timingFunction = UIViewAnimationOptionCurveEaseInOut;
    19     
    20     [view.layer addAnimation:animation forKey:@"animation"];
    21 }
    22 
    23 
    24 
    25 #pragma UIView实现动画
    26 - (void) animationWithView:(UIView *)view WithAnimationTransition : (UIViewAnimationTransition) transition
    27 {
    28     [UIView animateWithDuration:DURATION animations:^{
    29         [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    30         [UIView setAnimationTransition:transition forView:view cache:YES];
    31     }];
    32 }
  • 相关阅读:
    AD域修改组策略
    C#图像处理
    JsonResult序列化并保存json文件 以及对json文件读取反序列
    Git+Github代码管理控制
    Math.random控制随机数范围
    vue使用全局element-ui组件
    css3 vw、vh属性详解,以及与%、rem的区别介绍
    vue 中安装使用sass 报错遇到的问题整理
    如何将本地项目上传到Github
    GitHub优秀项目
  • 原文地址:https://www.cnblogs.com/fengmin/p/5391054.html
Copyright © 2020-2023  润新知