kCATransitionFade淡出

 kCATransitionMoveIn覆盖原图

 kCATransitionPush推出

 kCATransitionReveal底部显出来

 

 pageCurl   向上翻一页

 pageUnCurl 向下翻一页

 rippleEffect 滴水效果

 suckEffect 收缩效果。如一块布被抽走

 cube 立方体效果

 oglFlip 上下翻转效果



#pragma mark UIView 动画

- (IBAction)pressClick1:(id)sender {

UIButton *button = (UIButton *)sender;

    NSInteger tag = button.tag;

    

    CGContextRef context = UIGraphicsGetCurrentContext();

    [UIView beginAnimations:nil context:context];

    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];

    [UIView setAnimationDuration:kDuration];

    switch (tag) {

        case 105:

            [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown
forView:self.view cache:YES];

            break;

        case 106:

            [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];

            break;

        case 107:

            [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:self.view cache:YES];

            break;

        case 108:

            [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:self.view cache:YES];

            break;

            

        default:

            break;

    }

    NSUInteger green = [[self.view subviews] indexOfObject:self.greenView];

    NSUInteger blue = [[self.view subviews] indexOfObject:self.blueView];

    [self.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];

    

    [UIView setAnimationDelegate:self];

    // 动画完成后调用某个方法

    //[UIView setAnimationDidStopSelector:@selector(animationFinished:)];

    [UIView commitAnimations];

    

}

#pragma mark layer动画

- (IBAction)pressClick2:(id)sender {

    UIButton *button = (UIButton *)sender;

    NSInteger tag = button.tag;

    

    CATransition *animation = [CATransition animation];

    animation.delegate = self;

    animation.duration = kDuration;

    animation.timingFunction = UIViewAnimationCurveEaseInOut;

    

    switch (tag) {

        case 101:

            animation.type = kCATransitionFade;

            break;

        case 102:

            animation.type = kCATransitionPush;

            break;

        case 103:

            animation.type = kCATransitionReveal;

            break;

        case 104:

            animation.type = kCATransitionMoveIn;

            break;

        case 201:

            animation.type = @"cube";

            break;

        case 202:

            animation.type = @"suckEffect";

            break;

        case 203:

            animation.type = @"oglFlip";

            break;

        case 204:

            animation.type = @"rippleEffect";

            break;

        case 205:

            animation.type = @"pageCurl";

            break;

        case 206:

            animation.type = @"pageUnCurl";

        case 207:

            animation.type = @"cameraIrisHollowOpen";

        case 208:

            animation.type = @"cameraIrisHollowClose";

            break;

        default:

            break;

    }

    switch (self.typeID) {

        case 0:

            animation.subtype = kCATransitionFromLeft;

            break;

        case 1:

            animation.subtype = kCATransitionFromBottom;

            break;

        case 2:

            animation.subtype = kCATransitionFromRight;

            break;

        case 3:

            animation.subtype = kCATransitionFromTop;

            break;

            

        default:

            break;

    }

    self.typeID +=1;

    if (self.typeID >3) {

        self.typeID = 0;

    }

    

    NSUInteger green = [[self.view subviews]indexOfObject:self.greenView];

    NSUInteger blue = [[self.view subviews]indexOfObject:self.blueView];

    [self.view exchangeSubviewAtIndex:green withSubviewAtIndex:blue];

    

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

}

ios中layer动画和UIView动画代码总结的更多相关文章

  1. iOS动画1 — UIView动画

    iOS动画基础是Core Animation核心动画.Core Animation是iOS平台上负责图形渲染与动画的基础设施.由于核心动画的实现比较复杂,苹果提供了实现简单动画的接口—UIView动画 ...

  2. 核心动画和UIView动画的区别

    核心动画和UIView动画的区别 1.核心动画制作用在Layer 2.核心动画的修改的属性都是假象,他的真实位置没有发生变化()

  3. iOS核心动画以及UIView动画的介绍

    我们看到很多App带有绚丽狂拽的特效,别出心裁的控件设计,很大程度上提高了用户体验,在增加了实用性的同时,也赋予了app无限的生命力.这些华丽的效果很多都是基于iOS的核心动画原理实现的,本文介绍一些 ...

  4. iOS 动画总结—UIView动画

    1.概述 UIKit直接将动画集成到UIView类中,实现简单动画的创建过程.UIView类定义了几个内在支持动画的属性声明,当这些属性发生改变时,视图为其变化过程提供内建的动画支持. 执行动画所需要 ...

  5. 转-iOS 动画总结----UIView动画

    来自:http://blog.csdn.net/huifeidexin_1/article/details/7597868/ 1.概述 UIKit直接将动画集成到UIView类中,实现简单动画的创建过 ...

  6. ios开发核心动画七:核心动画与UIView动画的区别

    /** UIView与核心动画区别?(掌握) 1.核心动画只作用在layer. 2.核心动画看到的都是假像,它并没有去修改UIView的真实位置. 什么时候使用核心动画? 1.当不需要与用户进行交互, ...

  7. [iOS UI进阶 - 6.3] UIView 动画

    1.UIView转场过渡动画   // // ViewController.m // UIViewAnimationTest // // Created by hellovoidworld on 15 ...

  8. iOS动画篇:UIView动画

    iOS的动画效果一直都很棒很,给人的感觉就是很炫酷很流畅,起到增强用户体验的作用.在APP开发中实现动画效果有很多种方式,对于简单的应用场景,我们可以使用UIKit提供的动画来实现. UIView动画 ...

  9. iOS之UIview动画

    一.UIView动画(首尾) 1.简单说明 UIKit直接将动画集成到UIView类中,当内部的一些属性发生改变时,UIView将为这些改变提供动画支持 执行动画所需要的工作由UIView类自动完成, ...

随机推荐

  1. 在Java中使用SQLite的教程(转)

    简介:这是在Java中使用SQLite的教程的详细页面,介绍了和java,有关的知识.技巧.经验,和一些java源码等. 简单的在Java中使用SQLite的教程 使用SQLiteJDBC封装 www ...

  2. 【SimpleMsgPack.NET】发布一个msgpack协议C#版本的解析开源库

    这两年一直都关注这IOCP在网络通信这方面的应用,当然数据的传递是经常需要的.今年接触了MsgPack格式,发现他用来做传输时数据打包真是太爽了.因为他可以直接打包二进制数据,不需要任何的转换.有人会 ...

  3. LeetCode: Gas Station 解题报告

    Gas Station There are N gas stations along a circular route, where the amount of gas at station i is ...

  4. linux下的c/c++调试器gdb

    Reference:  http://www.cnblogs.com/xd502djj/archive/2012/08/30/2663960.html linux下的c/c++调试器gdb gdbLi ...

  5. Where-To-Put-The-Auto-Layout-Code(AutoLayout代码应该放在哪里?)

    Where-To-Put-The-Auto-Layout-Codehtml, body {overflow-x: initial !important;}html { font-size: 14px; ...

  6. php的变量引用与销毁机制

    在php中,符号"&"表示引用. 1.看看不引用的情况是这样子: $a  = "hello world";//定义一个变量,下面赋值给$b $b = $ ...

  7. Java并发编程 LockSupport源码分析

    这个类比较简单,是一个静态类,不需要实例化直接使用,底层是通过java未开源的Unsafe直接调用底层操作系统来完成对线程的阻塞. package java.util.concurrent.locks ...

  8. dlib实现人脸landmark点检测以及一些其他的应用

    首先从中这里下载下代码: https://github.com/ageitgey/face_recognition#face-recognition 然后安装所以必须的组件,我用的Python3.5 ...

  9. [转]css选择器优先级深入理解

    转载自:http://www.jb51.net/css/67029.html 一.基础选择器 css基础选择器有标签选择器.类选择器.id选择器.通用选择器 1.标签选择器 每个html页面都由很多个 ...

  10. Hive Tunning 补充 关于bucket

    在前面的几篇文章当中一直有一个概念bucketing不清楚到底是怎么回事. 网友南京-李先森给了他收集的一些资料,如下: Buckets 对指定列计算 hash,根据 hash 值切分数据,目的是为了 ...