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. SQLAlchemy表操作和增删改查

    一.SQLAlchemy介绍 SQLAlchemy是一个基于Python实现的ORM框架.该框架建立在 DB API之上,使用关系对象映射进行数据库操作,简言之便是:将类和对象转换成SQL,然后使用数 ...

  2. C#学习笔记-迭代器模式

    什么是迭代器模式? 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露该对象的内部表示. 何时使用迭代器模式? 当需要访问一个聚合对象,而且不管这些对象是什么都需要 ...

  3. Python3 决策树

    # -*- coding: utf-8 -*-"""Created on Fri Dec 29 10:18:04 2017 @author: markli"&q ...

  4. JavaScript基础知识(JSON、Function对象、原型、引用类型)

    19.JSON 概念:JavaScript 对象表示法(JavaScript Object Notation),是一种轻量级的数据交换格式  特点:易于程序员编写和查看:易于计算机解析和生成 数据结构 ...

  5. struts2中配置文件的调用顺序

    1.default.properties 该文件保存在 struts2-core-2.3.7.jar 中 org.apache.struts2中 2.struts-default.xml 该文件保存在 ...

  6. cs231n spring 2017 lecture11 Detection and Segmentation 听课笔记

    1. Semantic Segmentation 把每个像素分类到某个语义. 为了减少运算量,会先降采样再升采样.降采样一般用池化层,升采样有各种"Unpooling"." ...

  7. web前端性能优化总结

    网站的划分一般为二:前端和后台.我们可以理解成后台是用来实现网站的功能的,比如:实现用户注册,用户能够为文章发表评论等等.而前端呢?其实应该是属于功能的表现.并且影响用户访问体验的绝大部分来自前端页面 ...

  8. HDU-5157Harry and magic string

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5157 先从后往前插点,在构造回文树时,让cnt[i]+=cnt[fail[i]],然后维护一个后缀和a. ...

  9. codeforces 746C 模拟

    C. Tram time limit per test 1 second memory limit per test 256 megabytes input standard input output ...

  10. Vue中的$set的使用

    在我们使用vue进行开发的过程中,可能会遇到一种情况:当生成vue实例后,当再次给数据赋值时,有时候并不会自动更新到视图上去: 当我们去看vue文档的时候,会发现有这么一句话:如果在实例创建之后添加新 ...