#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动画的更多相关文章

  1. iOS开发笔记10:圆点缩放动画、强制更新、远程推送加语音提醒及UIView截屏

    1.使用CAReplicatorLayer制作等待动画 CALayer+CABasicAnimation可以制作很多简单的动画效果,之前的博客中介绍的“两个动画”,一个是利用一张渐变色图片+CABas ...

  2. 【Swift】IOS开发中自定义转场动画

    在IOS开发中,我们model另外一个控制器的时候,一般都使用默认的转场动画. 其实我们可以自定义一些转场动画.达到不同的转场效果. 步骤如下:(photoBrowser是目标控制器) 1.在源控制器 ...

  3. iOS开发CAAnimation详解

    Core Animation,即为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍.也就是说,使用少量的代码就可以实现非常强大的功能.Core Anima ...

  4. iOS开发--QQ音乐练习,旋转动画的实现,音乐工具类的封装,定时器的使用技巧,SliderBar的事件处理

    一.旋转动画的实现 二.音乐工具类的封装 -- 返回所有歌曲,返回当前播放歌曲,设置当前播放歌曲,返回下一首歌曲,返回上一首歌曲方法的实现 头文件 .m文件 #import "ChaosMu ...

  5. ios开发——实用技术篇&三维旋转动画

    实现三位旋转动画的方法有很多种,这里介绍三种 一:UIView 1 [UIView animateWithDuration:1.0 animations:^{ 2 self.iconView.laye ...

  6. iOS开发UIkit动力学UIDynamicAnimator一系列动画

    UIDynamicAnimator类,通过这个类中的不同行为来实现一些动态特性. UIAttachmentBehavior(吸附),UICollisionBehavior(碰撞),UIGravityB ...

  7. ios开发之简单实现loading动画效果

    最近有朋友问我类似微信语音播放的喇叭动画和界面图片加载loading界面是怎样实现的,是不是就是一个gif图片呢!我的回答当然是否定了,当然不排除也有人用gif图片啊!下面我就来罗列三种实现loadi ...

  8. iOS开发之--UIImageView的animationImages动画

    图片动画实现,代码如下: -(UIImageView *)animationImageView { if (!_animationImageView) { _animationImageView= [ ...

  9. IOS开发学习笔记022-imageView实现动画

    这里要播放的动画是很多张连续的动画,连续播放就会显示出动画效果. 大概过程是: 新建一个single view application ,然后添加一个image View控件到视图.给image vi ...

随机推荐

  1. react基本demo详解

    一.react的优势 1.React速度很快:它并不直接对DOM进行操作,引入了一个叫做虚拟DOM的概念,安插在javascript逻辑和实际的DOM之间,性能好. 2.跨浏览器兼容:虚拟DOM帮助我 ...

  2. 【Spark】Spark性能优化之Whole-stage code generation

    一.技术背景 Spark1.x版本中执行SQL语句,使用的是一种最经典,最流行的查询求职策略,该策略主要基于 Volcano Iterator Model(火山迭代模型).一个查询会包含多个Opera ...

  3. 如何快速生成数据库字典(thinkphp5.0)

    本教程将教你快速生成数据库字典 示例代码使用PHP框架:Thinkphp5.0 PHP代码: /** * 生成数据库字典html * 可直接另存为再copy到word文档中使用 * * @return ...

  4. ruby做接口测试

    一. 工具选择 IDE:rubymine:http接口请求:Unirest,ruby单元测试框架:rspec 二.工程创建 新建工程,在工程目录下,执行:rspec --init:初始化rspec工程 ...

  5. Cmake3.6.1 下载

    下载地址:https://github.com/Kitware/CMake/releases?after=v3.6.2

  6. c语言数据结构(一)

    第一章   绪论 一.数据与数据结构 数据:所有能被输入到计算机中,且被计算机处理的符号的集合计算机操作的对象的总称.是计算机处理的信息的某种特定的符号表示形式. 数据元素:数据中的一个“个体”,数据 ...

  7. Milking Order

    Milking Order 题意:给出m个描述状态,其中包含若干个边的关系,问最多能取x (x<=m)个状态,使得形成的图没有环.就是说取x个状态,用状态中的关系建边,其中不能有环. 题解:最大 ...

  8. 2212: [Poi2011]Tree Rotations

    2212: [Poi2011]Tree Rotations https://www.lydsy.com/JudgeOnline/problem.php?id=2212 分析: 线段树合并. 首先对每个 ...

  9. Linux怎样创建FTP服务器--修改用户默认目录-完美解决 - 费元星

    在创建FTP服务器之有先命令: ps -ef |grep vsftpd 查一下系统有没有安装vsftpd这个服务器,如果出现如下图所示的界面说明没有安装.   然后再执行:yum install vs ...

  10. MVC、MVVM

    一.MVC 所谓的 MVC 是指: Model: 数据的拥有者,实现具体的业务逻辑. View: 具体的用户界面,如按钮.列表.图片. Controller: 负责将 View 中用户的动作传达给 M ...