#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. maven+hudson构建集成测试平台

     1.下载hudson.war.2.命令行运行:java -jar hudson.war --httpPort=8070 -Dorg.eclipse.jetty.util.URI.charset=GB ...

  2. 在遍历中使用 iterator/reverse_iterator 进行 Erase 的使用方法

    在遍历中使用 iterator/reverse_iterator 进行 Erase 的使用方法 罗朝辉 (http://blog.csdn.net/kesalin/) 本文遵循"署名-非商业 ...

  3. HDU 1501 Zipper(DP,DFS)

    意甲冠军  是否可以由串来推断a,b字符不改变其相对为了获取字符串的组合c 本题有两种解法  DP或者DFS 考虑DP  令d[i][j]表示是否能有a的前i个字符和b的前j个字符组合得到c的前i+j ...

  4. Critical thinking and Thoughtful writing

    Critical thinkers are able to : Articulate their ideas clearly and persuasively in writing Understan ...

  5. css中字符换行的一些问题

    -------我们在处理文章的内容的过程中由于文章内容混杂有中文.英文.数字等其他字符,而我们常见的英文和数字是无法在包裹元素中自动换行,这往往会导致元素被撑破,如下图所示: css中word-bre ...

  6. MySQL在Windows和Linux减少数据库

    Linux减少数据库代码: 1,创建一个空数据库cddl mysql> create database cddl; Query OK, 1 row affected (0.00 sec) 2,还 ...

  7. OpenSUSE 13.2安装Texlive2014+Texmaker+Lyx

    (1)首先下载安装Texlive2014 地址:http://mirrors.ustc.edu.cn/CTAN/systems/texlive/Images/ 或直接下载: wget http://m ...

  8. knob.js进度插件

    关于knob.js进度插件的使用 关于这个插件,妹的,第一次使用坑死爹了,各种不会,幸亏我有持之以恒的精神,最终还是让其臣服于我的胯下.... 1.  引入 head  部分添加knob.js,同时引 ...

  9. Visual Studio Contact

    Visual Studio Contact(); 直播笔记   昨天微软干了几件了不起的事:.NET开发环境将开源.跨平台支持(Mac OS X和Linux).多设备支持(WP.Android和iOS ...

  10. 安装Windows8.1操作系统 - 初学者系列 - 学习者系列文章

    Windows 8这款操作系统是微软最新的操作系统.虽然微软做了推广,但是据消息称市场份额暂时没那么高.下面就对该操作系统的安装进行简要介绍. 1.  将光盘装入光驱,设置BIOS中光驱启动,启动计算 ...