iOS 动画类型 笔记

#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];

}

时间: 2024-10-20 22:10:54

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

IOS 动画类型及实现方法

核心动画(Core Animation)是IOS动画核心技术的基础; 基本动画:CABasicAnimation 关键帧动画:UAKeyframeAnimation 视图动画 隐式动画是以事务(CATransaction)的方式操作.每个动画请求在事务的上下文中发生.显式声明一个事务可以调用CATransaction类方法begin和commit,这就是事务块(transaction block) kCAmediaTimingFunctionLinuear kCAmediaTimingFunct

《iOS应用逆向工程》学习笔记(四)iOS程序类型

越狱iOS中最常见的程序有Application, Dynamic Library和Daemon三类. 1.Application 除了传统意义上的App外,越狱iOS平台上还有两种App形式的存在:WeeApp(依附于NotificationCenter的App)和PreferenceBundle(依附于Settings的App),常见于Cydia平台. 普通App的bundle中存放的是可执行程序和所需资源,而framework的bundle中存放的是动态链接库. 主要关注App中的三个部分

IOS开发学习笔记-(2)键盘控制,键盘类型设置,alert 对话框

一.关闭键盘,放弃第一响应者,处理思路有两种 ① 使用文本框的 Did End on Exit 绑定事件 ② UIControl on Touch 事件 都去操作 sender 的  resignFirstResponder #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UITextField *txtUserName; @pro

iOS核心动画工作笔记

1.图层和UIVIew的区别:图层不能和用户进行交互,图层性能高 2.imageVIew的图片显示是在图层上面的子层.用maskBounds剪切时剪的是图层,用户看不到是因为子层挡住了 3.CAlayer的代理方法没有协议,任何对象都能成为他的代理,即NSObject的方法 4.UIVIew内部的根图层的代理就是View本身,所以在UIVIew中的drawRect方法绘图.一个view不能设置代理.因为已经是它图层的代理 5.Core Animation直接作用于CALayer,缺点是动画后图片

IOS开发学习笔记-(3) 进度条、等待动画开始停止

一.创建对应空间视图  ,如下图: 二.编写对应的 .h 代码,如下 : #import <UIKit/UIKit.h> @interface ViewController : UIViewController @property (weak, nonatomic) IBOutlet UIActivityIndicatorView *activWaitNetWork; @property (weak, nonatomic) IBOutlet UIProgressView *pgrsDownLo

ios 动画效果CATransition笔记

初学ios开发,很多概念还不清楚,所以只有边学边做例子.又怕学了后面忘了前面,因此用自己的博客来纪录自己的学习历程,也是对自己学习不要懈怠做个监督. 刚学ios做动画效果.因为ios封装得很好,实现ios的漂亮动画效果也很简单,却因为我自己的粗心落了一个字母 导致纠结了一天,这个教训必须记住,同时也懂得了调试技能在编程里地位也是非常重要的存在. 实现ios动画有两种方法:一种UIView层面的,一种是使用CATransition. [objc] view plaincopy - (void)vi

iOS之动画学习笔记一

iOS复杂动画都是和贝塞尔曲线结合在一起的.因此要学会iOS动画,必须先理解贝塞尔曲线.贝塞尔曲线的教程网上很多,这里就不过多的阐述.主要还是来讲讲有关动画方面的东西. 一.画一条简单的曲线 我们先准备一条波浪形的贝塞尔曲线: CGPoint startPoint = CGPointMake(50, 300); CGPoint endPoint = CGPointMake(300, 300); CGPoint onePoint = CGPointMake(150, 200); CGPoint t

绘图与动画学习笔记(一)

1. 处理图形与动画的框架有 UIKit 高层次的框架,允许开发人员创建视图.窗口.按钮和其他UI相关的组件.它还将一些低级别的API引入到易于使用的高级别API中 Quartz 2D iOS上绘图的主要引擎:UIKit就使用Quartz. Core Graphics 它支持图形上下文.加载图像.绘制图像,等等. Core Animation 顾名思义,是一个帮助开发者在IOS上实现动画的框架 2. UIColor的set方法可设置Graphical context的颜色 - (void)dra

iOS动画浅汇

转自:http://www.cocoachina.com/ios/20160311/15660.html 在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的.我们总是追求更为酷炫的实现,如果足够仔细,我们不难发现一个好的动画通过步骤分解后本质上不过是一个个简单的动画实现.本文就个人搜集的一些动画相关的理论和实践知识做个小结,不足之处请勿见怪. 理论 UIview VS UIlayer UI