iOS动画入门一

原创 2015年07月07日 10:43:22

 一 动画介绍

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

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

二 实现方法

1 基础动画

 [UIView  beginAnimations:nil context:nil];  //动画开始
    //Code...
 [UIView commitAnimations];                  //动画结束

    //eg 设置lb向下移动
    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:3];
    CGPoint point = self.lb.center;
    point.y += 100;
    self.lb.center = point;
    [UIView commitAnimations];

2 blcok方法1

 [UIView animateWithDuration:3   //动画持续时间
                     animations:^{
        //Code...
    }];

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

3 blcok方法2

UIView animateWithDuration:3   //动画持续时间
                     animations:^{
        //动画执行
    } completion:^(BOOL finished) {
        //动画完成后执行
    }];

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


4 blcok方法3

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

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



5 blcok方法4

[UIView animateWithDuration:3       //动画持续时间
                          delay:1       //动画延迟时间
         usingSpringWithDamping:1.0     //设置类似弹簧效果
          initialSpringVelocity:5.0     //设置初始速度
                        options:UIViewAnimationOptionCurveLinear //设置动画过渡效果
                     animations:^{
    
    } completion:^(BOOL finished) {
        
    }];

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



版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS学习----------支付宝咻咻咻

类似于支付宝咻一咻功能的动画效果 1、用到的几个类 CADisplayLink:可以实现不停的重绘 默认为每秒运行60次 CAAnimationGroup: CALayer: CAM...
  • yziOS
  • yziOS
  • 2016年02月18日 22:41
  • 1389

iOS开发之iOS中的动画实现,通过CAShapeLayer、CAShapeLayer,CAReplicatorLayer实现炫酷的动画、雷达效果,波纹效果,咻一咻效果。iOS核心动画实现。

先附上文中的Demo,需要的朋友可以下载看一下 先简单说一下CALayer iOS 的动画都是基于 CALayer 的,每个UIView都对应有一个CALayer。 所以修改UIVi...
  • zhonggaorong
  • zhonggaorong
  • 2016年10月20日 10:43
  • 2283

transform仿支付宝咻一咻动画

开始之前先了解一下center、bounds和frame center是CGPoint类型,是视图的中心点,是相对于父视图的位置 center只有x、y,所以只能用来修改位置 b...
  • zhaoWenbin111
  • zhaoWenbin111
  • 2016年12月23日 22:55
  • 224

iOS 自定义下拉线条动画

本文摘录自 A GUIDE TO IOS ANIMATION,中文名:《Kitten 的 iOS 动画学习手册》。这是一本非常有趣地介绍 iOS 动画的交互式电子书,提供生动的可交互式元素、视频以及精...
  • zlyapple
  • zlyapple
  • 2016年05月13日 11:16
  • 433

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

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

iOS核心动画实现仿支付宝咻咻、雷达效果

今天闲余时间写了一个类似支付宝咻咻或者说雷达效果。望大神勿笑、写的粗糙。 更新了下文章,贴出Demo地址 github 先上效果图吧: 雷达效果图 说下主要思路吧: 主...
  • qq_30513483
  • qq_30513483
  • 2016年05月16日 11:29
  • 1018

IOS 添加收藏的动画效果

- (void)showAnimation { CGPoint lbCenter = self.headerImageView.center; //the image which wil...
  • woaifen3344
  • woaifen3344
  • 2015年01月24日 11:51
  • 1705

iOS自定义转场详解03——实现通过圆圈放大缩小的转场动画

这是第三篇的转场动画的Demo: 实现原理: 第一步:布置界面 这步已经真的没什么好说的了,快进。 唯一有一个小技巧就是,在刚创建一个项目的时候,Storybo...
  • zlyapple
  • zlyapple
  • 2016年05月13日 11:20
  • 1139

IOS动画库汇总

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

iOS动画入门

一 动画介绍 在iOS中动画实现技术主要是:Core Animation。 Core Animation负责所有的滚动、旋转、缩小和放大以及所有的iOS动画效果。其中UIKit类通常都有anim...
  • wu347771769
  • wu347771769
  • 2015年07月08日 19:03
  • 236
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS动画入门一
举报原因:
原因补充:

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