iOS页面切换动画实现方式。

  1.使用UIView animateWithDuration:animations:completion方法

  Java代码
  

  1. [UIView animateWithDuration:0.2f animations:^{
  2.   detail.view.frame = CGRectMake(0, 0, detail.view.frame.size.width, detail.view.frame.size.height);
  3.   } completion:^(BOOL finished) {
  4.   UITableViewCell *cell = [articleTable cellForRowAtIndexPath:idx];
  5.   cell.backgroundColor = [UIColor clearColor];
  6.   }];

复制代码

  2.使用UIView beginAnimations:context和UIView commitAnimations方法

  Java代码

  1.   [UIView beginAnimations:nil context: nil];
  2.   [UIView setAnimationDuration:1.0];
  3.   [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];//指定动画曲线
  4.   [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.view cache:YES];//指定动画方式为卷帘向下,类似的动画切换方式有CurlUp、FlipFromLeft、FlipFromRight,对应Apple Developer Documents中的枚举结构如下
  5.   //UIViewAnimationTransition
  6.   //Specifies a transition to apply to a view in an animation block.
  7.   //typedef enum {
  8.   // UIViewAnimationTransitionNone,
  9.   // UIViewAnimationTransitionFlipFromLeft,
  10.   // UIViewAnimationTransitionFlipFromRight,
  11.   // UIViewAnimationTransitionCurlUp,
  12.   // UIViewAnimationTransitionCurlDown,
  13.   //} UIViewAnimationTransition;
  14.   //要动画改变的属性
  15.   self.view.alpha = 0.0;//动画改变透明度
  16.   self.view.frame = CGRectMake(10, 10, 50, 50);//动画将视图改变到指定位置指定大小
  17.   [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
  18.   [UIView commitAnimations];//提交动画

复制代码

  3.使用QuartzCore框架中的CATransition

  Java代码
 

  1.  CATransition *animation = [CATransition animation];
  2.   animation.delegate = self;
  3.   animation.duration = kDuration;
  4.   animation.timingFunction = UIViewAnimationCurveEaseInOut;//动画的开始与结束的快慢
  5.   animation.type = kCATransitionFade;//指定动画方式为Fade渐隐消去、类似还有kCATransitionPush、kCATransitionReveal、kCATransitionMoveIn、@"cube"、@"suckEffect"、@"oglFlip"、@"rippleEffect"、@"pageCurl"、@"pageUnCurl"、@"cameraIrisHollowOpen"、@"cameraIrisHollowClose"等,
  6.   //pageCurl 向上翻一页
  7.   //pageUnCurl 向下翻一页
  8.   //rippleEffect 滴水效果
  9.   //suckEffect 收缩效果,如一块布被抽走
  10.   //cube 立方体效果
  11.   //oglFlip 上下翻转效果
  12.   //cameraIrisHollowOpen 相机打开效果
  13.   //cameraIrisHollowClose 相机关闭效果
  14.   Apple Developer Documents中介绍如下
  15.   //Common Transition Types
  16.   //These constants specify the transition types that can be used with the type property.
  17.   //NSString * const kCATransitionFade;
  18.   //NSString * const kCATransitionMoveIn;
  19.   //NSString * const kCATransitionPush;
  20.   //NSString * const kCATransitionReveal;
  21.   animation.subtype = kCATransitionFromLeft;//指定动画进行方向从左边开始,类似还有kCATransitionFromBottom、kCATransitionFromRight、kCATransitionFromTop,Apple Developer Documents中介绍如下
  22.   //Common Transition Subtypes
  23.   //These constants specify the direction of motion-based transitions. They are used //with the subtype property.
  24.   //NSString * const kCATransitionFromRight;
  25.   //NSString * const kCATransitionFromLeft;
  26.   //NSString * const kCATransitionFromTop;
  27.   //NSString * const kCATransitionFromBottom;
  28.   [self.view exchangeSubviewAtIndex:1 withSubviewAtIndex:0];
  29.   [[self.view layer] addAnimation:animation forKey:@"animation"];

复制代码

原文链接:http://www.apkbus.com/android-131034-1-1.html

iOS页面切换动画实现方式。的更多相关文章

  1. (原)android中的动画(三)之动画监听&页面切换动画

    1.动画也可以设置监听事件,例如在动画结束时需要执行某操作 把要执行的代码写在onAnimationEnd()回调方法中即可: anim.setAnimationListener(new Animat ...

  2. iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例)

    iOS页面间传值的方式(NSUserDefault/Delegate/NSNotification/Block/单例) 实现了以下iOS页面间传值:1.委托delegate方式:2.通知notific ...

  3. 【转】iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)-- 不错

    原文网址:http://www.cnblogs.com/JuneWang/p/3850859.html iOS页面间传值的方式(NSUserDefault/Delegate/NSNotificatio ...

  4. iOS页面间传值的方式 (Delegate/NSNotification/Block/NSUserDefault/单例)

    iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)   iOS页面间传值的方式(NSUserDefault/Delegate/NSN ...

  5. QtQuick多页面切换、多页面切换动画、多个qml文件数据交互

    一.QtQuick多页面切换方法 (1)“隐藏法” 前一个视图visible设为false或者透明度opacity设为0,相当于“隐藏”了,实际还存在: 要显示的视图visible设为true或者透明 ...

  6. Android5.0之后的页面切换动画

    Android5.0之后给我们开发者剩了好多的事情,为什么这么说呢?还记得刚开始的时候,Android里面的所有的动画都要我们开发者自己来写,现在不需要了,因为5.0之后自带了好多的动画,比如:按钮点 ...

  7. iOS页面间传值的方式(Delegate/NSNotification/Block/NSUserDefault/单例)

    iOS页面间传值实现方法:1.通过设置属性,实现页面间传值:2.委托delegate方式:3.通知notification方式:4.block方式:5.UserDefault或者文件方式:6.单例模式 ...

  8. PresentViewController切换界面(一些系统自带的页面切换动画)

    视图切换,没有NavigationController的情况下,一般会使用presentViewController来切换视图并携带切换时的动画, 其中切换方法如下: – presentViewCon ...

  9. Windows Phone使用sliverlight toolkit实现页面切换动画效果

    使用应用时,好多app在页面切换的时候都有一个动画效果,感觉很炫,也大大增加了用户体验,怎么实现呢? 界面的切换,可以用Windows Phone Toolkit中的TransitionService ...

随机推荐

  1. 重构仿vue社区代码

    半年前根据vue社区提供的开放api制作的vue社区,功能大部分和原vue社区一样,还一些功能没做完,项目是半年前做的,已经过了半年,当时因为公司一个项目打算要vue来重构,提取小试牛刀做了个dom试 ...

  2. 《SpringMVC从入门到放肆》一、概述

    一.SpringMVC概述 View Service Dao DB Spring MVC interface interface Mysql impls impls SpringMVC也叫Spring ...

  3. 部署java项目到阿里云服务器(centos7版本)

    一.搭建环境 1.搭建java环境(64位) 一.准备压缩包,rpm包或者tar包,将其上传到阿里云对应的文件夹(我用的工具是WinSCP,百度一下就有下载资源) 二.若是rpm包,可以通过 rpm ...

  4. 【机器学习学习】SKlearn + XGBoost 预测 Titanic 乘客幸存

    Titanic 数据集是从 kaggle下载的,下载地址:https://www.kaggle.com/c/titanic/data 数据一共又3个文件,分别是:train.csv,test.csv, ...

  5. Spring(一)Spring的第一滴血

    前言 开始工作了,但是一进来公司本来是做爬虫和数据分析的,但是走了一个后端的,导致我必须要去顶替他的工作.因为这个项目使用的是Spring. SpringMVC.Hibernate所以我又要去回忆一下 ...

  6. HDU 1024 Max Sum Plus Plus【动态规划求最大M子段和详解 】

    Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. 树形dp总结

    转自 http://blog.csdn.net/angon823 介绍 1.什么是树型动态规划 顾名思义,树型动态规划就是在"树"的数据结构上的动态规划,平时作的动态规划都是线性的 ...

  8. codeforce 375_2_b_c

    codeforce 375_2 标签: 水题 好久没有打代码,竟然一场比赛两次卡在边界条件上....跪 b.题意很简单...纯模拟就可以了,开始忘记了当字符串结束的时候也要更新两个值,所以就错了 #i ...

  9. ubuntu下使用nginx搭建流媒体服务器,实现视频点播

    首先我们看如何实现视频点播,视频点播支持flv文件及H264编码视频,ACC编码音频的mp4文件: 第一步,创建单独的目录(因为软件较多,容易混乱),下载需要的软件: 我们需要下载nginx,pcre ...

  10. TypeScript笔记 6--接口

    接口定义 接口和Java语言一样,都是通过关键字interface定义的,如下例子: interface People { name: string; age: number; hobby?: str ...