CATransition的动画效果类型及实现方法
来源:互联网 发布:网络市场调研的概念 编辑:程序博客网 时间:2024/05/21 21:42
实现iphone漂亮的动画效果主要有两种方法,一种是UIView层面的,一种是使用CATransition进行更低层次的控制,
第一种是UIView,UIView方式可能在低层也是使用CATransition进行了封装,它只能用于一些简单的、常用的效果展现,这里写一个常用的示例代码,供大家参考。
[UIView beginAnimations:@"Curl"context:nil];//动画开始
[UIView setAnimationDuration:0.75];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:myview cache:YES];
[myview removeFromSuperview];
[UIView commitAnimations];
第二种方式相对复杂一些,但如果更好的进行控制,还是使用这种方法吧,基本使用方法可以看一下如下例子:
CATransition*animation = [CATransition animation];
[animation setDuration:1.25f];
[animation setTimingFunction:[CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseIn]];
[animation setType:kCATransitionReveal];
[animation setSubtype: kCATransitionFromBottom];
[self.view.layer addAnimation:animation forKey:@"Reveal"];
这里使用了setType与setSubtype组合,这使用个比较保险,因为他的参数就是官方API里定义的,他们的参数说明可以参考如下:
setType:可以返回四种类型:
kCATransitionFade淡出
kCATransitionMoveIn覆盖原图
kCATransitionPush推出
kCATransitionReveal底部显出来
setSubtype:也可以有四种类型:
kCATransitionFromRight;
kCATransitionFromLeft(默认值)
kCATransitionFromTop;
kCATransitionFromBottom
还有一种设置动画类型的方法,不用setSubtype,只用setType
[animation setType:@"suckEffect"];
这里的suckEffect就是效果名称,可以用的效果主要有:
pageCurl 向上翻一页
pageUnCurl 向下翻一页
rippleEffect 滴水效果
suckEffect 收缩效果,如一块布被抽走
cube 立方体效果
oglFlip 上下翻转效果
最后再给出一种常用代码供大家参考。
// Curl the image up or down
CATransition *animation = [CATransition animation];
[animation setDuration:0.35];
[animation setTimingFunction:UIViewAnimationCurveEaseInOut];
if (!curled){
//animation.type = @"mapCurl";
animation.type = @"pageCurl";
animation.fillMode = kCAFillModeForwards;
animation.endProgress = 0.99;
} else {
//animation.type = @"mapUnCurl";
animation.type = @"pageUnCurl";
animation.fillMode = kCAFillModeBackwards;
animation.startProgress = 0.01;
}
[animation setRemovedOnCompletion:NO];
[view exchangeSubviewAtIndex:0 withSubviewAtIndex:1];
[view addAnimation:animation forKey"pageCurlAnimation"];
// Disable user interaction where necessary
if (!curled) {
} else {
}
curled = !curled;
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- iPhone跳转的动画效果类型及实现方法 CATransition
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- iPhone跳转的动画效果类型及实现方法 CATransition
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- CATransition的动画效果类型及实现方法
- UI -- CATransition的动画效果类型及实现方法
- 图片切换 及 关于 CATransition的动画效果类型
- ios 动画效果类型及实现方法
- iphone的动画效果类型及实现方法
- iPhone的动画效果类型及实现方法
- iPhone的动画效果类型及实现方法
- CSS学习笔记---float的深入剖析
- xcode 4 制作静态库详解
- PostpreSQL详细数据类型说明
- 判断包以什么字母开头
- oracle 存储过程的基本语法
- CATransition的动画效果类型及实现方法
- 容器
- 养成良好的习惯-每个测试文件前输入标识自己的字符串
- Sql2008数据库转到sql2005
- 史玉柱
- Linux下查看文件和文件夹大小
- 【C语言的学习】第八回合:函数大集合
- Android客户端向Python服务器以POST方式传输数据
- C# 序列化 反序列化