iOS动画入门

转载 2015年07月08日 19:03:12

一 动画介绍

在iOS中动画实现技术主要是:Core Animation。 Core Animation负责所有的滚动、旋转、缩小和放大以及所有的iOS动画效果。其中UIKit类通常都有animated:参数部分,它可以允许是否使用动画。 

本文将介绍UIView动画的实现方式,有基础方法和block方法。

二 实现方法

1 基础动画

[objc] view plaincopy
  1. [UIView  beginAnimations:nil context:nil];  //动画开始  
  2.    //Code...  
  3. [UIView commitAnimations];                  //动画结束  

[objc] view plaincopy
  1. //eg 设置lb向下移动  
  2. [UIView beginAnimations:nil context:nil];  
  3. [UIView setAnimationDuration:3];  
  4. CGPoint point = self.lb.center;  
  5. point.y += 100;  
  6. self.lb.center = point;  
  7. [UIView commitAnimations];  

2 blcok方法1

[objc] view plaincopy
  1. [UIView animateWithDuration:3   //动画持续时间  
  2.                     animations:^{  
  3.        //Code...  
  4.    }];  

[objc] view plaincopy
  1. //eg 改变lb的透明度  
  2.     [UIView animateWithDuration:3 animations:^{  
  3.         self.lb.alpha = 0.5;  
  4.     }];  

3 blcok方法2

[objc] view plaincopy
  1. UIView animateWithDuration:3   //动画持续时间  
  2.                      animations:^{  
  3.         //动画执行  
  4.     } completion:^(BOOL finished) {  
  5.         //动画完成后执行  
  6.     }];  

[objc] view plaincopy
  1. //eg 旋转lb第一种方法:  
  2.     CGAffineTransform endAngel = CGAffineTransformMakeRotation(90.0f*(M_PI/180.0f));  
  3.       
  4.     [UIView animateWithDuration:3 animations:^{  
  5.         self.lb.transform = endAngel;  
  6.     } completion:^(BOOL finished) {  
  7.         self.stateLb.text = @"动画完成了";  
  8.     }];  


4 blcok方法3

[objc] view plaincopy
  1. [UIView animateWithDuration:3   //动画持续时间  
  2.                           delay:1   //动画延迟时间  
  3.                         options:UIViewAnimationOptionCurveEaseIn    //设置动画过渡效果  
  4.                      animations:^{  
  5.         //动画执行  
  6.     } completion:^(BOOL finished) {  
  7.         //动画完成后执行  
  8.     }];  

[objc] view plaincopy
  1. //eg 改变lb的字体大小 和位置  
  2.    [UIView animateWithDuration:3  
  3.                          delay:1  
  4.                        options:UIViewAnimationOptionCurveEaseInOut //设置动画过渡效果  
  5.                     animations:^{  
  6.        CGPoint center = self.lb.center;  
  7.        center.x = 200;  
  8.        self.lb.center = center;  
  9.          
  10.        self.lb.textColor = [UIColor blueColor];  
  11.    } completion:^(BOOL finished) {  
  12.        self.stateLb.text = @"改变lb的字体大小 和位置 完成*";  
  13.    }];  



5 blcok方法4

[objc] view plaincopy
  1. [UIView animateWithDuration:3       //动画持续时间  
  2.                           delay:1       //动画延迟时间  
  3.          usingSpringWithDamping:1.0     //设置类似弹簧效果  
  4.           initialSpringVelocity:5.0     //设置初始速度  
  5.                         options:UIViewAnimationOptionCurveLinear //设置动画过渡效果  
  6.                      animations:^{  
  7.       
  8.     } completion:^(BOOL finished) {  
  9.           
  10.     }];  

[objc] view plaincopy
  1. [UIView animateWithDuration:3 delay:1 usingSpringWithDamping:1.0 initialSpringVelocity:5.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{  
  2.         CGPoint center = self.btn.center;  
  3.         center.y += 50;  
  4.         self.btn.center = center;  
  5.     } completion:^(BOOL finished) {  
  6.         self.stateLb.text = @"弹簧效果结束";  
  7.     }];  

相关文章推荐

iOS动画入门一

[UIView animateWithDuration:3 delay:1 usingSpringWithDamping:1.0 initialSpringVelocity:5.0 options:U...

ios基础动画

  • 2017-08-11 10:44
  • 633KB
  • 下载

CSS3动画入门

CSS3动画[TOC] Tips: transition 过渡 过渡的时间 过渡的延迟等 transform 转换的意思 移动 X、Y 轴 旋转等 1.translate() X Y 轴 有tra...

iOS动画高级讲解

  • 2016-11-03 14:23
  • 20.71MB
  • 下载

IOS 仿微博小动画

HTML5之SVG 2D入门11 - 动画

交互性 SVG拥有良好的用户交互性,例如: SVG能响应大部分的DOM2事件。 SVG能通过cursor良好的捕捉用户鼠标的移动。 用户可以很方便的通过设置svg元素的zoomAndPan属性的值...

IOS 层动画

  • 2015-10-09 17:41
  • 541KB
  • 下载

iOS上的图形和动画处理

  • 2013-01-25 11:25
  • 5.32MB
  • 下载

unity5 动画系统Mecanim事件快速入门 区分animation和animator不再混淆

据说这个是4.6开始的,因为unity我中间很长时间没用过这个,现在重新再u3d5上认识下 首先认识下图标 上面单个的就是animation下面是animator 简单说...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)