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开发基础知识:Core Animation(核心动画) 详解

http://www.jianshu.com/p/8c1c1697c0ce Core Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的...
  • jeffasd
  • jeffasd
  • 2016年03月04日 17:28
  • 879

iOS开发详解之几种基础动画篇

iOS 中的动画是指一些视图上的过渡效果,合理利用动画能提高用户体验! 第一类: UIView 动画 几种CGAffineTransform2D仿射变换 实现两个视图控制器的界面动画跳转 CALaye...
  • w_qiang75
  • w_qiang75
  • 2015年09月28日 11:44
  • 333

css3动画从入门到精通

什么是css3动画? 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片、Flash 动画以及 JavaScript。 CSS3带来了圆角,半透明,阴影,渐变,多背景图等新的特征,轻...
  • xiangzhihong8
  • xiangzhihong8
  • 2016年08月26日 11:40
  • 1769

iOS 旋转动画的几种实现方式

第一种:使用CABasicAnimated方法这种方法是最简单的方法CABasicAnimation *animation = [CABasicAnimation animationWithKeyPa...
  • coyote1994
  • coyote1994
  • 2017年06月26日 18:29
  • 834

IOS中的几种动画的实现方式

在我们开发中,经常会遇到一些需要动画特效的展示,下面来总结一些开发中常见的动画实现方式 第一,序列帧动画,通过大量的UIImage来展示动画效果,网络请求等待加载动画效果 核心代码: //创建可...
  • anywhereIOS
  • anywhereIOS
  • 2016年04月11日 00:49
  • 3701

IOS动画库汇总

Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组。 awesome-io...
  • fishmai
  • fishmai
  • 2017年06月23日 09:07
  • 1332

iOS 最全动画教程(基础)

IOS 最全动画教程(基础)大家好,做了这么久的iOS开发,没有系统性的总结过iOS某方面的知识点,总觉得有些地方还是不太了解,查阅各种资料,加上平时开发的经验,因此准备写关于动画系列的总结。作为开发...
  • jone741852963
  • jone741852963
  • 2016年05月19日 15:11
  • 3119

iOS核心动画--浅析三个动画的实现

点击打开链接 http://www.jianshu.com/p/272aa1f26c62 动画和绘图是iOS开发中非常重要的部分。我们要实现一个动效,首先就是动画解析,分析...
  • wangrui13931182709
  • wangrui13931182709
  • 2016年04月19日 16:35
  • 1572

iOS动画进阶 - 手摸手教你写ShineButton动画

前段时间在github上看见一个非常nice的动画效果,可惜是安卓的,想着用swift写一个iOS版的,下下来源代码研究了一下,下面是我写代码的心路历程 先上图和demo的地址分析动画过程刚开始看的时...
  • wang631106979
  • wang631106979
  • 2017年02月16日 00:32
  • 5032

iOS 常用动画第三方

动画 Core Animation笔记,基本的使用方法 - Core Animation笔记,基本的使用方法:1.基本动画,2.多步动画,3.沿路径的动画,4.时间函数,5.动画组。 awes...
  • lzylzy1991
  • lzylzy1991
  • 2017年02月08日 22:10
  • 551
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS动画入门
举报原因:
原因补充:

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