IOS 在控制器间跳转实现过渡动画

  已经掌握了CALayer下的CATransition动画在同一个控制器下实现,但是在不同控制器间跳转又该如何实现呢?

  

   MyViewController *myVC = [[MyViewController alloc]init];
    //创建动画
    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];

  下面附上一些常用的动画类型:

  Fade = 1,                   //淡入淡出

    Push,                       //推挤

    Reveal,                     //揭开

    MoveIn,                     //覆盖

    Cube,                       //立方体

    SuckEffect,                 //吮吸

    OglFlip,                    //翻转

    RippleEffect,               //波纹

    PageCurl,                   //翻页

    PageUnCurl,                 //反翻页

    CameraIrisHollowOpen,       //开镜头

    CameraIrisHollowClose,      //关镜头

    CurlDown,                   //下翻页

    CurlUp,                     //上翻页

    FlipFromLeft,               //左翻转

附上简书大神的文章:http://www.jianshu.com/p/09b7e5ff371c

    FlipFromRight,              //右翻转

时间: 2024-10-12 23:42:34

IOS 在控制器间跳转实现过渡动画的相关文章

URL原理在视图控制器间跳转的运用

一.问题引入 一个视图控制器对应一个UI界面,那么UI界面的跳转,底层就得实现视图控制器的跳转. 那么当界面多,且界面跳转情况复杂时,需在视图控制器中添加业务逻辑,并且增加视图控制器之间的藕合度.在java中网页跳转有xml解决此问题,但是在iOS中,系统并没有提供解决方案. 二.认识URL NSString *urlString = @"http://weibo.com/p/100808a4b68909c606cae3953d196c16efa8bd?k=%E6%B5%B7%E5%8D%97%

页面间跳转的性能优化(一)

前言 现在App的页面越来越复杂,页面初始化的工作越来越多,加载页面所需的时间也随之增长,如果页面加载的时间过长,这将会影响App的流畅度及用户体验,我们需要解决这一问题.观察过一些日常使用的App,页面间跳转的性能问题总结为以下三种情形: 1).A页面跳转到B页面,由于B页面需要加载大量的数据,所以导致页面跳转延迟. 2).A页面跳转到B页面,由于B页面需要加载大量UI元素,所以导致页面跳转延迟. 3).A页面跳转到B页面,由于A或B页面的GPU使用率过高,所以导致面页跳转时出现过场动画不流畅

iOS页面间跳转的性能优化(二)

续言 在页面间跳转的性能优化(一)中介绍了一些基础知识,讲述了情形一与情形二的优化方式及原理,但有许多人对情形二最后两种处理方式的原理表示不理解,不清楚处理过程,接下来会详细分步地讲述这两种方式的原理,如果你还没看过页面间跳转的性能优化(一),请先阅读. 点击下载Demo,或https://github.com/IOSDelpan/SmoothTransitionDemo. 页面间的跳转大致分为几个任务:1.生成将即显示的页面视图:2.生成我们所需要的UI元素:3.生成页面跳转的动画:而这几个任

IOS 页面间跳转

常用的就两种 一种通过导航,一种直接跳 第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化: ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]]; valueView.delegate = self; [valueView setModalTransit

iOS开发:控制器间的数据传递

在iOS开发中遇到的控制器间的数据传递主要有两种情况:顺传递与逆传递.顺传递是指数据的传递方向和控制器的跳转方向相同(如图1):逆传递是指数据的传递方向和控制器的跳转方向相反(如图2).这里分别介绍这两种传递方式的具体做法. 顺传递 如果是用的SB,顺传递较简单,只需在A控制器的prepareForSegue:sender:方法中根据segue参数取得destinationViewController,也就是目标控制器C,直接给控制器C传递数据.从A传来的数据要在C的viewDidLoad方法中

iOS之应用间的跳转(无第三方参与)

一:URL:统一资源定位符(可以没有路径,但必须有协议头) 通常默认情况下应用程序是没有URL的.并且在iOS中打开一个应用程序只要拿到该应用的协议头即可. 一个应用程序可以在info->URL Type中设置一个URL(协议头),进行协议头配置. 打开其他应用方法代码如下: 具体步骤: 1.获取到对应程序的URL 2.判断程序中是否安装了对应的应用程序,方法是canOpenURL 3.如果是->打开应用程序 代码如下: 二:如何打开/跳转的应用中判断打开的是应用的哪个页面(比如朋友圈或者好友

ios导航控制器UINavigationController,控制器a跳转(push)到b后,b跳转(push)到c,但c后退(pop)进入a

参考:StackOverflow ios导航控制器UINavigationController,控制器a跳转(push)到b后,b跳转(push)到c,但c后退(pop)进入a.在b跳转(push)到c中代码书写如下: UINavigationController *navController = [[self.navigationController retain] autorelease]; [navController popViewControllerAnimated:NO]; View

ios业务模块间互相跳转的解耦方案

*此文章需有一点runtime的知识,假设你不了解runtime,<高速理解Runtime of Objective-C>: http://mp.weixin.qq.com/s?__biz=MzIxNDI0OTAzOQ==&mid=403005635&idx=1&sn=71375cb0dee51487c90087d488ff59fe#rd 问题: 一个app通常由很多个模块组成,全部模块之间免不了会相互调用,比如一个读书管理软件,可能会有书架.用户信息.图书详情等等模块

iOS开发,应用间的跳转

预习:URL由两部分组成-- 1.scheme:协议头(http://  ftp:// 等等) 2.path:路径(URL中path可以没有) 一.简单实现跳转到指定APP(也就是说跳转到的APP必须有自己的URL) -- 测试APP跳转到wechatAPP 设置APP的URL 在测试APP中点击按钮实现跳转到微信APP                                                                          二.实现跳转到制定页面(控制器