CATransition类动画
- - (void)leftClick {
- [UIView beginAnimations:nil context:nil];
- //display mode, slow at beginning and end
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- //动画时间
- [UIView setAnimationDuration:1.0f];
- //使用当前正在运行的状态开始下一段动画
- [UIView setAnimationBeginsFromCurrentState:YES];
- //给视图添加过渡效果
- [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft forView:imageView cache:YES];
- [UIView commitAnimations];
- }
- - (void)rightClick {
- [UIView beginAnimations:nil context:nil];
- //display mode, slow at beginning and end
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- //动画时间
- [UIView setAnimationDuration:1.0f];
- //使用当前正在运行的状态开始下一段动画
- [UIView setAnimationBeginsFromCurrentState:YES];
- //给视图添加过渡效果
- [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:imageView cache:YES];
- [UIView commitAnimations];
- }
- - (void)upClick {
- [UIView beginAnimations:nil context:nil];
- //display mode, slow at beginning and end
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- //动画时间
- [UIView setAnimationDuration:1.0f];
- //使用当前正在运行的状态开始下一段动画
- [UIView setAnimationBeginsFromCurrentState:YES];
- //给视图添加过渡效果
- [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:imageView cache:YES];
- [UIView commitAnimations];
- }
- - (void)downClick {
- [UIView beginAnimations:nil context:nil];
- //display mode, slow at beginning and end
- [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
- //动画时间
- [UIView setAnimationDuration:1.0f];
- //使用当前正在运行的状态开始下一段动画
- [UIView setAnimationBeginsFromCurrentState:YES];
- //给视图添加过渡效果
- [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:imageView cache:YES];
- [UIView commitAnimations];
- }
- /*
- CATransition的type属性
- 1.#define定义的常量
- kCATransitionFade 交叉淡化过渡
- kCATransitionMoveIn 新视图移到旧视图上面
- kCATransitionPush 新视图把旧视图推出去
- kCATransitionReveal 将旧视图移开,显示下面的新视图
- 2.用字符串表示
- pageCurl 向上翻一页
- pageUnCurl 向下翻一页
- rippleEffect 滴水效果
- suckEffect 收缩效果,如一块布被抽走
- cube 立方体效果
- oglFlip 上下翻转效果
- */
- - (void)MyCAnimation1 {
- CATransition *animation = [CATransition animation];
- //动画时间
- animation.duration = 1.0f;
- //display mode, slow at beginning and end
- animation.timingFunction = UIViewAnimationCurveEaseInOut;
- //过渡效果
- animation.type = kCATransitionMoveIn;
- //过渡方向
- animation.subtype = kCATransitionFromTop;
- //添加动画
- [imageView.layer addAnimation:animation forKey:nil];
- }
- - (void)MyCAnimation2 {
- CATransition *animation = [CATransition animation];
- //动画时间
- animation.duration = 1.0f;
- //display mode, slow at beginning and end
- animation.timingFunction = UIViewAnimationCurveEaseInOut;
- //在动画执行完时是否被移除
- animation.removedOnCompletion = NO;
- //过渡效果
- animation.type = @"pageCurl";
- //过渡方向
- animation.subtype = kCATransitionFromRight;
- //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果
- animation.fillMode = kCAFillModeForwards;
- //动画停止(在整体动画的百分比).
- animation.endProgress = 0.7;
- [imageView.layer addAnimation:animation forKey:nil];
- }
- - (void)MyCAnimation3 {
- CATransition *animation = [CATransition animation];
- //动画时间
- animation.duration = 1.0f;
- //display mode, slow at beginning and end
- animation.timingFunction = UIViewAnimationCurveEaseInOut;
- //过渡效果
- animation.type = @"pageUnCurl";
- //过渡方向
- animation.subtype = kCATransitionFromRight;
- //暂时不知,感觉与Progress一起用的,如果不加,Progress好像没有效果
- animation.fillMode = kCAFillModeBackwards;
- //动画开始(在整体动画的百分比).
- animation.startProgress = 0.3;
- [imageView.layer addAnimation:animation forKey:nil];
- }
- - (void)MyCAnimation4 {
- [NSTimer scheduledTimerWithTimeInterval:3.0f target:self selector:@selector(updateButterfly) userInfo:nil repeats:YES];
- }
- - (void)updateButterfly {
- butterflyView.animationDuration = 0.75f;
- [self.view addSubview:butterflyView];
- [butterflyView startAnimating];
- butterflyView.center = [butterflyView randomCenterInView:self.view withInset:10.0f];
- }
CATransition比较强大,一般可以使用CATransition模拟UIView的动画。
/* 过渡效果
fade //交叉淡化过渡(不支持过渡方向)
push //新视图把旧视图推出去
moveIn //新视图移到旧视图上面
reveal //将旧视图移开,显示下面的新视图
cube //立方体翻滚效果
oglFlip //上下左右翻转效果
suckEffect //收缩效果,如一块布被抽走(不支持过渡方向)
rippleEffect //滴水效果(不支持过渡方向)
pageCurl //向上翻页效果
pageUnCurl //向下翻页效果
cameraIrisHollowOpen //相机镜头打开效果(不支持过渡方向)
cameraIrisHollowClose //相机镜头关上效果(不支持过渡方向)
*/
/*
过渡方向
fromRight;
fromLeft;
fromTop;
fromBottom;
*/
CATransition *animation = [CATransition animation];
animation.
delegate = self;
animation.duration =
0.5f;
//
动画时长
animation.timingFunction = UIViewAnimationCurveEaseInOut;
animation.fillMode = kCAFillModeForwards;
animation.type =
@"
cube
";
//
过度效果
animation.subtype =
@"
formLeft
";
//
过渡方向
animation.startProgress =
0.0
//
动画开始起点(在整体动画的百分比)
animation.endProgress =
1.0;
//
动画停止终点(在整体动画的百分比)
animation.removedOnCompletion = NO;
[self.view.layer addAnimation:animation forKey:
@"
animation
"];
CATransition类动画的更多相关文章
- iOS开发CAAnimation类动画, CATransition动画
#pragma mark - CAAnimation类.实现动画 #pragma mark ** CABasicAnimation 动画 - (IBAction)handleCABasicAnimat ...
- Keyframe类-动画中关键帧概念
package com.loaderman.customviewdemo; import android.animation.Animator; import android.animation.Ke ...
- CATransition的动画效果类型及实现方法--老代码备用参考
实现iphone漂亮的动画效果主要有两种方法,一种是UIView层面的,一种是使用CATransition进行更低层次的控制, 第一种是UIView,UIView方式可能在低层也是使用CATransi ...
- CoreAnimation笔记
核心动画继承结构 CoreAnimation Core Animation是直接作用在CALayer上的(并非UIView上)非常强大的跨Mac OS X和iOS平台的动画处理API,Core Ani ...
- 动画浅析-CAAnimation和CATransition
出处: http://blog.csdn.net/mad2man/article/details/17260887 //动画播放完之后不恢复初始状态 baseAnimation.removed ...
- CATransition转场动画
背景: 最近在温习动画,分享个简单系统的转场动画 viewcontroller *VC=[self.storyboard instantiateViewControllerWithIdentifier ...
- core Animation之CATransition(转场动画)
用于做转场动画,能够为层提供移出屏幕和移入屏幕的动画效果.iOS比Mac OS X的转场动画效果少一点 UINavigationController就是通过CATransition实现了将控制器的视图 ...
- jQuery - 02. 样式表属性操作/类操作、动画、显示隐藏、滑入、淡入、停止动画、节点操作、添加对象、清空节点
样式表属性操作.css $("div").css({'width':100,'height':100,'background':'red'}); $("div" ...
- iOS开发之各种动画各种页面切面效果
因工作原因,有段时间没发表博客了,今天就发表篇博客给大家带来一些干货,切勿错过哦.今天所介绍的主题是关于动画的,在之前的博客中也有用到动画的地方,今天就好好的总结一下iOS开发中常用的动画.说道动画其 ...
随机推荐
- 构造HTTP请求Header实现"伪造来源IP"
构造 HTTP请求 Header 实现“伪造来源 IP ” 在阅读本文前,大家要有一个概念,在实现正常的TCP/IP 双方通信情况下,是无法伪造来源 IP 的,也就是说,在 TCP/IP 协议中,可以 ...
- 解决IE8下VS2005,VS2008一些向导提示脚本错误问题
Some VS2005 and VS2008 Wizards Pop Up Script Error. Visual C++ team has discovered that after inst ...
- Python 字符串格式化示例
先看代码吧. #!/usr/bin/env python #-*- coding: utf-8 -*- __author__ = 'jiang' __creattime__ = '2015/10/31 ...
- Sencha Touch 之 Ext.ComponentManager.get方法使用
HTML代码: <!doctype html> <html> <head> <meta charset="utf-8"> <t ...
- 数组初始化(c, c++, gcc, g++)
这是很基础的东西,但基础的重要性不言而喻,我敢肯定这个知识点我肯定曾经了解过,但现在,我不敢确定,由此可见纪录的重要性,这世界没有什么捷径,找对方向,然后不停重复.所以从今天开始,我会比较详细的纪录这 ...
- GDAL python教程(1)——用OGR读写矢量数据
本教程的讲义和源码都是取自Utah State University的openGIS课程 相关资料,包括讲义.源码.数据样例,请从此处下载http://www.gis.usu.edu/~chrisg/ ...
- Windows 7妙用 笔记本变无线AP轻松共享
笔记本变AP的前提和应用原理 笔记本变AP的前提是你所处的房间或地点需要提供有线宽带的连接,而且你的笔记本要有无线网卡.如果这两个条件具备了,即使没有路由器/无线AP等辅助设备,多个笔记本电脑共享上网 ...
- Cocos2d-x CCNotificationCenter 通知中心
相信接触过ios开发的人来说对NSNotificationCenter都不陌生.而在cocos2d-x中也参照这个类,提供了CCNotificationCenter这个类,用作通知中心. 那么Noti ...
- Linux c 信号量
信号量(通过进程通信实现进程间的同步) 信号量(semaphore)信号灯 信号量是共享内存整数数组.根据需要定义指定的数组长度 信号量就是根据数组中的值,决定阻塞还是解除阻塞 编程模型: 1. ...
- SDL介绍
SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成.SDL提供了数种控制图像.声音.输出入的函数,让开发者只要用相同或是相似的代码就可以开发 ...