码迷,mamicode.com
首页 > 其他好文 > 详细

CATransition转场动画

时间:2015-09-04 11:09:12      阅读:110      评论:0      收藏:0      [点我收藏+]

标签:

CATransition转场动画概述


  • 简介

    • CATransition又称转场动画,是CAAnimation的子类,可以直接使用
    • 转场动画主要用于为图层提供移入/移出屏幕的动画效果
    • 转场动画常见的应用是UINavigationController
  • 注意事项

    • 转场动画的默认过渡方式为淡出方式(kCATransitionFade)
    • 可以使用常量形式或字符串形式给转场动画的type属性赋值,如

      • kCATransitionPush,常量形式
      • @"push",字符串形式
    • 官方文档中只提供了四种转场动画过渡方式的常量,如图

      技术分享

    • 动画的终点值必须大于等于起点值,否则没有动画效果

转场动画常用的属性


  • type(NSString *),动画的过渡方式
  • subtype(NSString *),动画的过渡方向
  • startProgress(float),动画起点,取值范围为0~1,表示在整个动画中的比例
  • endProgress(float)动画终点,取值范围为0~1,表示在整个动画中的比例

转场动画的过渡方式


  • fade

    • 交叉淡化过渡
    • 不支持过渡方向
    • 对应的常量为kCATransitionFade
  • push

    • 新视图把旧视图推出去
    • 对应的常量为kCATransitionPush
  • moveIn

    • 新视图移到旧视图上面
    • 对应的常量为kCATransitionMoveIn
  • reveal

    • 将旧视图移开显示下边的新视图
    • 对应的常量为kCATransitionReveal
  • cube

    • 立方体反转效果
  • oglFlip

    • 上下左右反转效果
  • suckEffect

    • 收缩效果,如一块布被抽走
    • 不支持过渡方向
  • rippleEffect

    • 滴水效果
    • 不支持过渡方向
  • pageCurl

    • 向上翻页效果
  • pageUnCurl

    • 向下翻页效果
  • cameraIrisHollowOpen

    • 相机镜头打开效果
    • 不支持过渡方向
  • cameraIrisHollowClose

    • 相机镜头关闭效果
    • 不支持过渡方向

转场动画的过渡方向


  • kCATransitionFromRight,右
  • kCATransitionFromLeft,左
  • kCATransitionFromTop,上
  • kCATransitionFromBottom,下

示例


  • 效果图

    技术分享

  • 实现步骤

    • 通过storyboard创建UIImageView控件,并拥有它
    @property (weak, nonatomic) IBOutlet UIImageView *imageView;
    • 更改imageView的image属性
    //点击屏幕时,更换图片
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
    	//控制图片循环展示
    	static NSInteger i = 2;
    	if (i == 4)
    	{
        	i = 1;
    	}
    
    	//更换图片
    	NSString *imageName = [NSString stringWithFormat:@"%zd", i];
    	self.imageView.image = [UIImage imageNamed:imageName];
    	i++;
    
    	//添加动画
    	[self setupTransition];
    }
    • 实现转场动画代码
    - (void)setupTransition
    {
    	CATransition *animation = [CATransition animation];
    
    	//设置动画的过渡方式
    	animation.type = @"oglFlip";
    	//设置动画的过渡方向
    	animation.subtype = kCATransitionFromRight;
    	//设置动画时长
    	animation.duration = 0.5;
    
    	//将动画添加到图层上
    	[self.imageView.layer addAnimation:animation forKey:nil];
    }

CATransition转场动画

标签:

原文地址:http://www.cnblogs.com/yxt9322yxt/p/4781291.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!