CATransition动画来实现,

下面的代码是跳转到下一个视图:

CATransition *animation = [CATransition animation];

[animation setDuration:0.3];

[animation setType: kCATransitionPush];

[animation setSubtype: kCATransitionFromRight];//跳转方向样式

[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

    [self.navigationController pushViewController:searchResult animated:NO];//禁止导航动画

    [self.navigationController.view.layer addAnimation:animation forKey:@"animation"];

只需把导航的动画禁掉,加上自己所需要的方向

下面的代码是返回前一个视图:

CATransition *animation = [CATransition animation];

[animation setDuration:0.3];

[animation setType: kCATransitionPush];

[animation setSubtype: kCATransitionFromLeft];

[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];

    [self.navigationController.view.layer addAnimation:animation forKey:@"animation"];

[self.navigationController popViewControllerAnimated:NO];//禁止动画

返回前一个视图时有个注意点,禁止动画这一句必须写在动画代码的后面,否则达不到理想的效果。

/////////////////*********效果type**********//////////////////////

1. kCATransitionFade;//指定动画方式为 Fade 渐隐消去、类似还有 kCATransitionPush、 kCATransitionReveal、 kCATransitionMoveIn、@"cube"、 @"suckEffect"、@"oglFlip"、 @"rippleEffect"、@"pageCurl"、 @"pageUnCurl"、@"cameraIrisHollowOpen" @"cameraIrisHollowClose"等,
  1. pageCurl 向上翻一页

  2. pageUnCurl 向下翻一页

  3. rippleEffect 滴水效果

  4. suckEffect 收缩效果,如一块布被抽走

  5. cube 立方体效果

  6. oglFlip 上下翻转效果

  7. cameraIrisHollowOpen 相机打开效果

  8. cameraIrisHollowClose 相机关闭效果

  9. Apple Developer Documents 中介绍

如下

11. NSString * const kCATransitionFade;

12. NSString * const kCATransitionMoveIn; 13. NSString * const

kCATransitionPush; 14. NSString * const

kCATransitionReveal;

过渡效果 type

fade //交叉淡化过渡(不支持过渡方向)

push //新视图把旧视图推出去
moveIn //新视图移到旧视图上面
reveal //将旧视图移开,显示下面的新视图
cube //立方体翻滚效果
oglFlip //上下左右翻转效果
suckEffect //收缩效果,如一块布被抽走(不支持过渡方向)
rippleEffect //滴水效果(不支持过渡方向)
pageCurl //向上翻页效果
pageUnCurl //向下翻页效果
cameraIrisHollowOpen //相机镜头打开效果(不支持过渡方向)
cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)

过渡方向 subtype

fromRight;
fromLeft;
fromTop;
fromBottom;

导航栏转场动画CATransition的更多相关文章

  1. iOS:核心动画之转场动画CATransition

    转场动画——CATransition CATransition是CAAnimation的子类,用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一点 U ...

  2. 仿知乎/途家导航栏渐变文字动画效果-b

    demo.gif 效果图如上,简单分析下 1.导航栏一开始是隐藏的,随着scrollView滚动而渐变 2.导航栏左右两边的navigationItem是一直显示的 3.导航栏参考了途家app,使用了 ...

  3. OC导航栏自定义返回按钮

    [iOS]让我们一次性解决导航栏的所有问题 在默认情况下,导航栏返回按钮长这个样子   导航栏默认返回按钮 导航栏左上角的返回按钮,其文本默认为上一个ViewController的标题,如果上一个Vi ...

  4. 导航栏协议方法UINavigationControllerDelegate

    关于UINavigationControllerDelegate: Delegate中一共有6个方法.其中两个跟控制器ViewController的跳转有关.有两个跟屏幕的旋转有关.有两个跟导航栏动画 ...

  5. iOS系统中导航栏的转场解决方案与最佳实践

    背景 目前,开源社区和业界内已经存在一些 iOS 导航栏转场的解决方案,但对于历史包袱沉重的美团 App 而言,这些解决方案并不完美.有的方案不能满足复杂的页面跳转场景,有的方案迁移成本较大,为此我们 ...

  6. 图片浏览(CATransition)转场动画

    Main.storyboard ViewController.m // //  ViewController.m //  8A04.图片浏览(转场动画) // //  Created by huan ...

  7. iOS之UI--转场动画

    1.什么是转场动画?    就是从一个场景转换到另一个场景,像导航控制器的push效果,就是一个转场.    2.如何创建转场动画    创建转场动画    CATransition *anim = ...

  8. ios开发核心动画五:转场动画

    #import "ViewController.h" @interface ViewController () @property (weak, nonatomic) IBOutl ...

  9. ios手势复习值之换图片-转场动画(纯代码)

    目标:实现通过手势进行图片的切换   通过左扫右扫 来实现(纯代码) 添加三个属性 1uiImageView 用来显示图片的view 2 index 用来表示图片的索引 3 ISLeft 判断是不是向 ...

随机推荐

  1. spring mvc 入门示例

    classpath <?xml version="1.0" encoding="UTF-8"?> <classpath> <cla ...

  2. Flex Socket 安全沙箱问题解决

    Flex使用Socket与C++通讯时遇到了安全沙箱问题,NND,折腾我半天,这是我的解决方法: 1):策略文件与主套接字在同一端口,只需调用 Socket.connect() 或 XMLSocket ...

  3. 小兔JS教程(五) 简单易懂的JSON入门

    上一节的参考答案: http://xiaotublog.com/demo.html?path=homework/04/index2 本节重点来介绍一下JSON,JSON(JavaScript Obje ...

  4. oracle的位图索引和函数索引

    1.位图索引 位图索引适用于性别.婚姻状态.行政区等只有几列固定值的类型列,身份证号等就不适合位图索引,位图索引适用于静态数据,频繁更新的字段不适用建立位图索引,因为更新会导致索引块区的变更,还会引起 ...

  5. 如何利用jquery 实现表格数据的搜索功能

    在表格的操作中,常常会遇到通过关键字来搜索结果,这个功能用jquery的filter实现非常简单. 我以一个小例子说明: <table> <thead> <tr cols ...

  6. 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行

    [TOC] 简单的java Hadoop MapReduce程序(计算平均成绩)从打包到提交及运行 程序源码 import java.io.IOException; import java.util. ...

  7. WinForm 控件(上)

    窗体的事件 每一个窗体都有一个事件,这个窗体加载完成之后执行哪一段代码 位置:1)右键属性→事件→load 双击进入 2)双击窗体任意一个位置进入 删除事件:先将事件页面里面的挂好的事件删除,再删后台 ...

  8. codeforces div2.C

    C. New Year and Rating time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  9. We Chall-Training: ASCII—Writeup

    MarkdownPad Document html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,ab ...

  10. Eclipse 报java.lang.UnsupportedClassVersionError: ("yourclass") bad major version at offset=6

    报这个错误是指你的jar包或者class 的被编译的jdk版本比当前runtime的jdk版本高. 解决问题 1)如果是jar包,重新用jdk 1.6编译你的jar 包 2)如果是java文件或者项目 ...