zoukankan      html  css  js  c++  java
  • 系统动画

    复制代码
    动画类型
    复制代码
    CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果。iOS比Mac OS X的转场动画效果少一点
    UINavigationController就是通过CATransition实现了将控制器的视图推入屏幕的动画效果
    属性解析:
    type:动画过渡类型
    subtype:动画过渡方向
    startProgress:动画起点(在整体动画的百分比)
    endProgress:动画终点(在整体动画的百分比)
    复制代码
    
    
    
    
    
    /* 过渡效果
     fade     //交叉淡化过渡(不支持过渡方向) kCATransitionFade
     push     //新视图把旧视图推出去  kCATransitionPush
     moveIn   //新视图移到旧视图上面   kCATransitionMoveIn
     reveal   //将旧视图移开,显示下面的新视图  kCATransitionReveal
     cube     //立方体翻滚效果
     oglFlip  //上下左右翻转效果
     suckEffect   //收缩效果,如一块布被抽走(不支持过渡方向)
     rippleEffect //滴水效果(不支持过渡方向)
     pageCurl     //向上翻页效果
     pageUnCurl   //向下翻页效果
     cameraIrisHollowOpen  //相机镜头打开效果(不支持过渡方向)
     cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)
    */
       
    /* 过渡方向
     kCATransitionFromRight
     kCATransitionFromLeft
     kCATransitionFromBottom



    //转场动画--》是针对某个view的图层进行转场动画
    #import "ViewController.h" #import <QuartzCore/QuartzCore.h> @interface ViewController () { UIView *_lastview; BOOL flag; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; flag=true; UIView *view=[[UIView alloc] initWithFrame:CGRectMake(100, 100, 200, 200)]; view.backgroundColor=[UIColor redColor]; [self.view addSubview:view]; [view release]; _lastview=view; // Do any additional setup after loading the view, typically from a nib. } -(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{ if(flag){ _lastview.backgroundColor=[UIColor yellowColor]; flag=false; } else{ _lastview.backgroundColor=[UIColor redColor]; flag=true; } //转场动画--就是对某个view进行动画切换。 //1:如果是控制器之间的切换,其实window上view进行切换 CATransition *transion=[CATransition animation]; //设置转场动画的类型 transion.type=@"pageCurl"; //设置转场动画的方向 transion.subtype=@"fromLeft"; //把动画添加到某个view的图层上 [self.view.layer addAnimation:transion forKey:nil]; }
    复制代码

     控制器直接切换动画

    复制代码
        
        UIApplication *app=[UIApplication sharedApplication];
        AppDelegate *dd=app.delegate;
        
            MyViewController *my=[[MyViewController alloc] init];
        //切换根控制器,其实把视图控制器的view在window上切换。所以在转场动画要作用在window上
        dd.window.rootViewController=my;
        CATransition *trans=[CATransition animation];
       
        trans.type=@"pageCurl";
        trans.subtype=@"fromTop";
       
        [dd.window.layer addAnimation:trans forKey:nil];
        
        [my release];
  • 相关阅读:
    左旋转字符串
    mybitis实现增,删,改,查,模糊查询的两种方式:(1)
    使用MYSQL时遇到的问题解决方法
    mysql的使用命令(1)
    matlab_exercise(4)----第一题
    matlab_exercise(3)----海伦公式求三角形面积
    matlab_exercise(2)----输入一个三位数,依次输出其个位数字,十位数字,百位数字
    matlab_exercise(1)--交换值
    [xPlugins] jQuery Contextmenu右键菜单
    [网站安全] 十大抢手的网站压力测试工具
  • 原文地址:https://www.cnblogs.com/sanjianghuiliu/p/4367732.html
Copyright © 2011-2022 走看看