CATransition类实现层的转场动画。你可以从一组预定义的转换或者通过提供定制的CIFilter实例来指定转场效果。

例如:控制器之间的跳转

LoginViewController *myVC = [[LoginViewController alloc]init];

myVC.tuichu = @"tuichu";

//创建动画

CATransition *animation = [CATransition animation];

//设置运动轨迹的速度

animation.timingFunction = UIViewAnimationCurveEaseInOut;

//设置动画类型为立方体动画

animation.type = @"cube";

//设置动画时长

animation.duration =0.5f;

//设置运动的方向

animation.subtype =kCATransitionFromRight;

//控制器间跳转动画

[[UIApplication sharedApplication].keyWindow.layer addAnimation:animation forKey:nil];

[self presentViewController:myVC animated:NO completion:nil];

//例如;控制器中添加 view

CATransition *animation = [CATransition animation];

animation.timingFunction = UIViewAnimationCurveEaseInOut;

animation.type = @"rippleEffect"; //声波效果

animation.duration = 0.3;

animation.subtype = kCATransitionFromBottom;

[self.view.layer addAnimation:animation forKey:nil];

[self.view addSubview:view];

  //定义个转场动画

  CATransition *animation = [CATransition animation];

  //转场动画持续时间

  animation.duration = 0.2f;

  //计时函数,从头到尾的流畅度???

  animation.timingFunction=UIViewAnimationCurveEaseInOut;

  //转场动画类型

  animation.type = kCATransitionReveal;

  //转场动画将去的方向

  animation.subtype = kCATransitionFromBottom;

  //动画时你需要的实现

  self.tabBarController.tabBar.hidden = YES;

  //添加动画 (转场动画是添加在层上的动画)

  self.tabBarController.tabBar.layer addAnimation:animation forKey:@"animation"];

  说明:

  duration:动画持续的时长。

  timingFunction:没明白(谁明白的说明一下吧)

  type:转场动画的类型。如果在一个自定义的转场动画中指定的过滤器属性,此属性将被忽略。

  type共有四种类型:

  NSString * const kCATransitionFade;//逐渐消失

  NSString * const kCATransitionMoveIn;//移入

  NSString * const kCATransitionPush;//平移(暂且这么称呼吧)

  NSString * const kCATransitionReveal;//显露

  默认类型为kCATransitionFade。

  subtype:转场动画将要去往的方向。

  subtpye有四种类型:

  NSString * const kCATransitionFromRight;

  NSString * const kCATransitionFromLeft;

  NSString * const kCATransitionFromTop;

  NSString * const kCATransitionFromBottom;

  默认方向是nil。

  [self.tabBarController.tabBar.layer addAnimation:animation forKey:@"animation"];

  转场动画是添加给layer的!

  switch (btn.tag) {

  case 0:

  animation.type = @"cube";//---立方体

  break;

  case 1:

  animation.type = @"suckEffect";//103 吸走的效果

  break;

  case 2://前后翻转效果

  animation.type = @"oglFlip";//When subType is "fromLeft" or "fromRight", it's the official one.

  break;

  case 3:

  animation.type = @"rippleEffect";//110波纹效果

  break;

  case 4:

  animation.type = @"pageCurl";//101翻页起来

  break;

  case 5:

  animation.type = @"pageUnCurl";//102翻页下来

  break;

  case 6:

  animation.type = @"cameraIrisHollowOpen ";//107//镜头开

  break;

  case 7:

  animation.type = @"cameraIrisHollowClose ";//106镜头关

  break;

  default:

  break;

  }

iOS 页面之间的转场动画控制器间的转换的更多相关文章

  1. iOS 页面之间的专长动画控制器间的转换

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 24.0px; font: 14.0px "Heiti SC Light" ...

  2. iOS 7 present/dismiss转场动画

    前言 iOS 7以后提供了自定义转场动画的功能,我们可以通过遵守协议完成自定义转场动画.本篇文章讲解如何实现自定义present.dismiss自定义动画. 效果图 本篇文章实现的动画切换效果图如下: ...

  3. IOS 页面之间的传值(主讲delegate)

    IOS的Delegate,通俗一点说就是页面之间的传值. 总结一下现在知道的IOS页面之间传值的方式有三种 1.使用NSNotification发送通知的传值 主要是通过NSNotificationC ...

  4. 【Swift】IOS开发中自定义转场动画

    在IOS开发中,我们model另外一个控制器的时候,一般都使用默认的转场动画. 其实我们可以自定义一些转场动画.达到不同的转场效果. 步骤如下:(photoBrowser是目标控制器) 1.在源控制器 ...

  5. iOS-自定义Model转场动画-仿酷我音乐播放器效果

    周末,闲来无事,仿写了酷我音乐播放器效果: 效果图如下: 实现思路: 1.实现手势处理视图旋转 2.自定义Model动画: 1.手势是利用了一个UIPanGestureRecognizer手势: 注意 ...

  6. ViewController 之间设置转场动画

    AddOrEditViewController *addOrEdit = [[AddOrEditViewController alloc] init]; CATransition *transitio ...

  7. IOS 页面之间的跳转

    1.UINavigationController popToViewController 对应popViewControllerAnimated: 也可以使用: [self.navigationCon ...

  8. iOS:探究视图控制器的转场动画

    一.介绍 在iOS开发中,转场动画的使用无处不见,不只是我们自己更多的使用UIViewblock动画实现一个转场动画,其实,在我们实现VC控制器跳转的时候都是转场动画的实现,例如标签栏控制器的切换.模 ...

  9. iOS CATransition 自定义转场动画

    https://www.jianshu.com/p/39c051cfe7dd CATransition CATransition 是CAAnimation的子类(如下图所示),用于控制器和控制器之间的 ...

随机推荐

  1. Zephyr的Threads

    Threads介绍了一个线程的创建.调度以及删除过程.

  2. SkylineGlobe 6.6 开放的事件函数接口

    SkylineGlobe 6.6 开放的事件函数接口: struct __declspec(uuid("84ce9e1b-65ad-11d5-85c1-0001023952c1") ...

  3. 九,ESP8266 判断是断电上电(强制硬件复位)之后运行的内部程序还是内部软件复位之后运行的程序(基于Lua脚本语言)

    现在我有一个需求,WIFI模块控制一个继电器,我要做的是如果内部程序跑乱了,造成了内部程序复位重启,那么控制继电器的状态不能改变 如果是设备断电了,然后又来电了,我需要的是继电器一定要是断开才好.不能 ...

  4. IntelliJ IDEA常用设置(一)

    一.java文件中代码有错误,不点开java文件就不提示错误解决方法,版本不同可能界面有所区别. -->File->Settings->Build,Execution,Deploym ...

  5. python游戏开发之俄罗斯方块(一):简版

    编程语言:python(3.6.4) 主要应用的模块:pygame (下面有源码,但是拒绝分享完整的源码,下面的代码整合起来就是完整的源码) 首先列出我的核心思路: 1,图像由"核心变量&q ...

  6. TCP/IP协议--TCP协议概括和TCP连接的建立和终止

    TCP提供一种面向连接的.可靠的字节流服务.面向连接指,发送和接收方在交换数据前必须建立一个TCP连接.顺便说下,一个TCP连接只有两方,因此广播和多播是不能应用于TCP的.字节流指,两个应用程序通过 ...

  7. LOJ2540 PKUWC2018 随机算法 状压DP

    传送门 两种$DP$: ①$f_{i,j}$表示前$i$次选择,最大独立集为$j$时达到最大独立集的方案总数,转移:$a.f_{i,j}+=f_{i+1,j+2^k}$(保证$k$加入后符合条件):$ ...

  8. Luogu3067 平衡的奶牛群 Meet in the middle

    题意:给出$N$个范围在$[1,10^8]$内的整数,问有多少种取数方案使得取出来的数能够分成两个和相等的集合.$N \leq 20$ 发现爆搜是$O(3^N)$的,所以考虑双向搜索. 先把前$3^\ ...

  9. npm install报错 npm ERR! enoent ENOENT: no such file or directory

    在npm之后出现如下错误: $ npm install npm WARN checkPermissions Missing write access to /Users/lucas/code/js/v ...

  10. Asp.Net MVC页面显示后台处理进度问题

    这个问题的背景是,用户通过浏览器上传文件或Excel数据到系统中,页面需要时时显示后台处理进度,以增强用户的体验. 在GitHub上找到一个一个项目,基本实现了这个功能,具体效果如下图 代码实现过程大 ...