iOS开发CAAnimation类动画, CATransition动画
#pragma mark - CAAnimation类、实现动画
#pragma mark ** CABasicAnimation 动画 - (IBAction)handleCABasicAnimation:(id)sender { /* 创建动画类的对象 */
CABasicAnimation *basic = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; /*初始值*/
basic.fromValue = [NSNumber numberWithInt:];
basic.toValue = [NSNumber numberWithInt:]; /* 动画的相关设置 */
basic.duration = ;
basic.repeatCount = NSIntegerMax; /* 添加到相关的View的layer属性上 */
[self.myView.layer addAnimation:basic forKey:@"basic"]; } #pragma mark - **CAAinmationGroup 动画 - (IBAction)handleCAAnimationCroup:(id)sender { /**创建多个Animation对象*/
CABasicAnimation *b1 = [CABasicAnimation animationWithKeyPath:@"transform.rotation.x"]; b1.fromValue = [NSNumber numberWithInt:];
b1.toValue = [NSNumber numberWithInt:]; CABasicAnimation *b2 = [CABasicAnimation animationWithKeyPath:@"transform.rotation.y"];
b2.fromValue = [NSNumber numberWithInt:];
b1.toValue = [NSNumber numberWithInt:]; CABasicAnimation *b3 = [CABasicAnimation animationWithKeyPath:@"transform.rotation.z"]; b3.fromValue = [NSNumber numberWithInt:];
b3.toValue = [NSNumber numberWithInt:]; /* 创建动画组对象*/
CAAnimationGroup *aGroup = [[CAAnimationGroup alloc]init]; /* 设置组对象的动画数组属性 */
aGroup.animations = @[b1,b2,b3]; /* 动画相关设置 */
aGroup.duration = ;
aGroup.repeatCount = NSIntegerMax; /* 添加到相关View的layer属性上*/ [self.myView.layer addAnimation:aGroup forKey:@"aGroup"]; } #pragma mark - CAKeyframeAnimation 动画 - (IBAction)handleCAKeyframeAnimation:(id)sender { /* 创建动画对象 */
//CAKeyframeAnimation *keyA = [CAKeyframeAnimation animationWithKeyPath:@"transform.translation"];
CAKeyframeAnimation *keyA = [CAKeyframeAnimation animationWithKeyPath:@"position"]; /* 设置动画对象的path属性(对象要沿着path移动)*/ /* 创建CGPathRef结构体*/
CGMutablePathRef path = CGPathCreateMutable(); /* 指定path的初始的位置 */
CGAffineTransform t = self.redView.transform; CGPathMoveToPoint(path, &t, self.redView.center.x, self.redView.center.y); // /* Path添加点坐标(直线) */
// CGPathAddLineToPoint (path, &t, 100, 100);
// CGPathAddLineToPoint(path, &t, 300, 100); /* 添加贝塞尔曲线 */ CGPathAddCurveToPoint(path, &t, self.redView.center.x, self.redView.center.y, , , , ); /* Path设置动画对象的属性 */
keyA.path = path;
keyA.duration = ;
keyA.repeatCount = ;
/* 相应地View的layer属性添加动画 */
[self.redView.layer addAnimation:keyA forKey:@"keyA"]; } #pragma mark **CATransition 动画 - (IBAction)handleCATranslation:(id)sender { /* 创建对象 */
CATransition *transtition = [CATransition animation]; /* 设置相关的属性 */
//transtition.type = kCATransitionMoveIn;
transtition.type = @"cube";
transtition.repeatCount = NSIntegerMax; /* View的layer添加动画 */
transtition.duration = ;
[self.myView.layer addAnimation:transtition forKey:@"transition"]; } /** type
*
* 各种动画效果 其中除了'fade', `moveIn', `push' , `reveal' ,其他属于私有的API.
* ↑↑↑上面四个可以分别使用'kCATransitionFade', 'kCATransitionMoveIn', 'kCATransitionPush', 'kCATransitionReveal'来调用.
* @"cube" 立方体翻滚效果
* @"moveIn" 新视图移到旧视图上面
* @"reveal" 显露效果(将旧视图移开,显示下面的新视图)
* @"fade" 交叉淡化过渡(不支持过渡方向) (默认为此效果)
* @"pageCurl" 向上翻一页
* @"pageUnCurl" 向下翻一页
* @"suckEffect" 收缩效果,类似系统最小化窗口时的神奇效果(不支持过渡方向)
* @"rippleEffect" 滴水效果,(不支持过渡方向)
* @"oglFlip" 上下左右翻转效果
* @"rotate" 旋转效果
* @"push"
* @"cameraIrisHollowOpen" 相机镜头打开效果(不支持过渡方向)
* @"cameraIrisHollowClose" 相机镜头关上效果(不支持过渡方向)
*/ /** type
*
* kCATransitionFade 交叉淡化过渡
* kCATransitionMoveIn 新视图移到旧视图上面
* kCATransitionPush 新视图把旧视图推出去
* kCATransitionReveal 将旧视图移开,显示下面的新视图
*/
iOS开发CAAnimation类动画, CATransition动画的更多相关文章
- iOS开发笔记10:圆点缩放动画、强制更新、远程推送加语音提醒及UIView截屏
1.使用CAReplicatorLayer制作等待动画 CALayer+CABasicAnimation可以制作很多简单的动画效果,之前的博客中介绍的“两个动画”,一个是利用一张渐变色图片+CABas ...
- 【Swift】IOS开发中自定义转场动画
在IOS开发中,我们model另外一个控制器的时候,一般都使用默认的转场动画. 其实我们可以自定义一些转场动画.达到不同的转场效果. 步骤如下:(photoBrowser是目标控制器) 1.在源控制器 ...
- iOS开发CAAnimation详解
Core Animation,即为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能.Core Anima ...
- iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理
一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 #import "ChaosMu ...
- ios开发——实用技术篇&三维旋转动画
实现三位旋转动画的方法有很多种,这里介绍三种 一:UIView 1 [UIView animateWithDuration:1.0 animations:^{ 2 self.iconView.laye ...
- iOS开发UIkit动力学UIDynamicAnimator一系列动画
UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. UIAttachmentBehavior(吸附),UICollisionBehavior(碰撞),UIGravityB ...
- ios开发之简单实现loading动画效果
最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊!下面我就来罗列三种实现loadi ...
- iOS开发之--UIImageView的animationImages动画
图片动画实现,代码如下: -(UIImageView *)animationImageView { if (!_animationImageView) { _animationImageView= [ ...
- IOS开发学习笔记022-imageView实现动画
这里要播放的动画是很多张连续的动画,连续播放就会显示出动画效果. 大概过程是: 新建一个single view application ,然后添加一个image View控件到视图.给image vi ...
随机推荐
- html5中audio支持音频格式
HTML5 Audio标签能够支持wav, mp3, ogg, acc, webm等格式,但有个很重要的音乐文件格式midi(扩展名mid)却在各大浏览器中都没有内置的支持.不是所有的浏览器都支持MP ...
- redis之闪电内幕
一.简介和应用 二.Redis的对象redisObject 三.String 四.List 4.1 linkedlist(双端链表) 4.2 ziplist(压缩列表) 五.Hash 六.Set 七. ...
- Spring security学习笔记(二)
对比两种承载认证信息的方式: session vs token token验证方案: session验证方案: session即会话是将用户信息保存在服务端,根据请求携带的session_id,从服务 ...
- git找回本地误删的文件或文件夹
一:首先,我们先用git status 看看工作区的变化 application/Admin/Conf/config.php 如果要恢复文件记住这个 application 如果要恢复文件夹记住这个工 ...
- Python-变量与基础数据类型
·变量(variable) 笔记: 变量本质上是一个占位符.变量可以用来存储整数.字符串.列表等.简单的可以理解为一个座位,可以坐老人也可以坐小孩,可以坐男孩,也可以坐女孩. 在python里,标识 ...
- python学习笔记:第17天 面向对象03 类与类之间的关系
一.类与类之间的依赖关系 ⼤千世界, 万物之间皆有规则和规律. 我们的类和对象是对⼤千世界中的所有事物进⾏归类. 那事物之间存在着相对应的关系. 类与类之间也同样如此. 在⾯向对象的世界中. 类与类 ...
- 宁波Uber优步司机奖励政策(1月11日~1月17日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- 关于iOS和Android的安装包更新笔记
关于iOS和Android的安装包更新问题 1. Android更新apk 1)使用DownloadManager下载 2)使用HttpClient下载 apk的下载不能使用ssl,即不能使用http ...
- C# 终本案件、综合执行人、裁判文书爬虫
终本案件:http://zxgk.court.gov.cn/zhongben/new_index.html 综合执行人:http://zxgk.court.gov.cn/zhixing/new_ind ...
- python import vs from import
https://stackoverflow.com/questions/9439480/from-import-vs-import