首页 > 其他 > 详细

系统动画

时间:2015-03-26 10:38:20      阅读:266      评论:0      收藏:0      [点我收藏+]
技术分享
动画类型
技术分享
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];

系统动画

原文:http://www.cnblogs.com/sanjianghuiliu/p/4367732.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!