#pragma mark Core Animation

- (IBAction)buttonPressed1:(id)sender {

UIButton *button = (UIButton *)sender;

NSInteger tag = button.tag;

CATransition *animation = [CATransitionanimation];

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";

break;

case 207:

animation.type = @"cameraIrisHollowOpen";

break;

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.viewexchangeSubviewAtIndex:green withSubviewAtIndex:blue];

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

}

#pragma mark UIView动画

- (IBAction)buttonPressed2:(id)sender {

UIButton *button = (UIButton *)sender;

NSInteger tag = button.tag;

CGContextRef context = UIGraphicsGetCurrentContext();

[UIViewbeginAnimations:nilcontext:context];

[UIViewsetAnimationCurve:UIViewAnimationCurveEaseInOut];

[UIViewsetAnimationDuration:kDuration];

switch (tag) {

case 105:

[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlDownforView:self.viewcache:YES];

break;

case 106:

[UIViewsetAnimationTransition:UIViewAnimationTransitionCurlUpforView:self.viewcache:YES];

break;

case 107:

[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromLeftforView:self.viewcache:YES];

break;

case 108:

[UIViewsetAnimationTransition:UIViewAnimationTransitionFlipFromRightforView:self.viewcache:YES];

break;

default:

break;

}

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

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

[self.viewexchangeSubviewAtIndex:green withSubviewAtIndex:blue];

[UIViewsetAnimationDelegate:self];

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

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

[UIViewcommitAnimations];

}

iOS 动画类型 笔记的更多相关文章

  1. iOS动画技术笔记

    概述 在IOS开发中,实现动画操作的地方有很多,典型的是在视图控制器的segue操作时.在同一个视图控制器类中,加载切换不同的视图时,也需要动画效果,还有一些视图对象有动画效果会更好. 插一句,在IO ...

  2. Swift 动画学习笔记

    视频地址: http://www.swiftv.cn/course/i275v5lz 1,动画属性 position(位置),opacity(透明度,0 全透明,1 不透明),Scale(尺寸),Co ...

  3. ios 动画效果CATransition笔记

    初学ios开发,很多概念还不清楚,所以只有边学边做例子.又怕学了后面忘了前面,因此用自己的博客来纪录自己的学习历程,也是对自己学习不要懈怠做个监督. 刚学ios做动画效果.因为ios封装得很好,实现i ...

  4. iOS 动画笔记 (二)

    有它们俩你就够了! 说明:下面有些概念我说的不怎么详细,网上实在是太多了,说了我觉得也意义不大了!但链接都给大家了,可以自己去看,重点梳理学习写动画的一个过程和一些好的博客! 一:说说这两个三方库,C ...

  5. iOS 动画笔记 (一)

    你也肯定喜欢炫酷的动画! 在APP中,动画就是一个点睛之笔!可以给用户增加一些独特的体验感,估计也有许多的和我一样的,看着那些觉得不错的动画,也就只能流口水的孩子,毕竟可能不知道从哪里下手去写!动画学 ...

  6. Implicit Animations 默认动画 读书笔记

    Implicit Animations  默认动画 读书笔记 Do what I mean, not what I say. Edna Krabappel, The Simpsons   Part I ...

  7. iOS动画效果和实现

    动画效果提供了状态或页面转换时流畅的用户体验,在iOS系统中,咱们不需要自己编写绘制动画的代码,Core Animation提供了丰富的api来实现你需要的动画效果. UIKit只用UIView来展示 ...

  8. Android动画学习笔记-Android Animation

    Android动画学习笔记-Android Animation   3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...

  9. 【转】IOS动画的实现,其实很简单

    动画效果提供了状态或页面转换时流畅的用户体验,在iOS系统中,咱们不需要自己编写绘制动画的代码,Core Animation提供了丰富的api来实现你需要的动画效果.UIKit只用UIView来展示动 ...

随机推荐

  1. 【SSH三框架】Struts2第一章的基础:第一次写Struts2规划

    今年八月,当已经SSH三架完成学业.然后,他感动Android开展.三个框架已经很长的时间做无用的东西.所以,如果你想花三四天的时间来复习一下,写在博客. 附带SSH整个jar包网盘下载:http:/ ...

  2. Android开发手册 (Android的手工教程MtAndroid开发手册)

    放出版许可协议 1.0 或者更新版本号. 未经版权全部者明白授权,禁止发行本文档及其被实质上改动的版本号.  未经版权全部者事先授权.禁止将此作品及其衍生作品以标准(纸质)书籍形式发行. 假设有兴趣再 ...

  3. TFTP server组态

    TFTP server组态 2014-10-31北京海淀区  张俊浩 一.TFTP(Trivial File Transfer Protocol,简单文件传输协议或称小型文件传输协议) 是一种简化的文 ...

  4. CSharp设计模式读书笔记(21):状态模式(学习难度:★★★☆☆,使用频率:★★★☆☆)

    模式角色与结构: 示例代码:(本示例在具体状态类中实现状态切换,也可以在环境类中实现状态切换.状态模式一定程度上违背开闭原则) using System; using System.Collectio ...

  5. 如何从 0 开始学 Ruby on Rails

    如何从 0 开始学 Ruby on Rails (漫步版)Ruby 是一门编程语言,Ruby on Rails 是 Ruby 的一个 web 框架,简称 Rails. 有很多人对 Rails 感兴趣, ...

  6. 在Windows系统中安装集成的PHP开发环境

    原文:在Windows系统中安装集成的PHP开发环境 刚想学php的,又不会配置复杂php的环境,可以使用集成的,目前网上提供常用的PHP集成环境主要有AppServ.phpStudy.WAMP和XA ...

  7. 新版live555代理server

    好久没搞流媒体了,近期又回归了,已经把live555代理服务器更新到最新的live555代码(V0.82). 改进了一大坨问题,还去掉了一个类,代码更精简了. 改进了命令行參数格式,仅仅要这样:rts ...

  8. Linux经常使用命令(一) - ls

    ls命令是linux下最经常使用的命令.ls命令就是list的缩写, 缺省下ls用来打印出当前文件夹的清单, 假设ls指定其它文件夹, 那么就会显示指定文件夹里的文件及文件夹清单. 通过ls 命令不仅 ...

  9. web.xml运行序列总结

    在整个订单<context-param>--<listener>--<filter>--<servlet>. 其中,内的各类别中的序列被运行.和< ...

  10. Java泛型和集合之泛型VS模板

    Java的泛型很像C++中的模板,说到Java 泛型和C++中的模板的关系时,有两个重要的方面需要被考虑到:语法和语义.语法看起来是相似的,可是语义却明显是不同的. 在语法上讲,选择尖括号  是因为他 ...