在项目的开发过程中,我们经常会遇到使用动画的时候,比如我们在请求接口直接开始一个动画,请求结束后结束动画,下面我就给大家展示一个很方便的帧动画的用法:

代码如下:

.h

#import <Foundation/Foundation.h>

@interface hActiveView : NSObject

+(void)startAnimatedInView:(UIView *)aView;
+(void)stopAnimatedInView:(UIView *)aView; @end

.m

#import "hActiveView.h"

@implementation hActiveView

+(void)startAnimatedInView:(UIView *)aView
{
UIView *topView=[UIView new];
topView.backgroundColor=[UIColor clearColor];
topView.tag=;
topView.userInteractionEnabled=YES;
[aView addSubview:topView];
[topView mas_makeConstraints:^(MASConstraintMaker *make) {
// make.edges.equalTo(aView).with.insets(UIEdgeInsetsMake(0, 44, 0, 0));
make.height.equalTo(@);
make.top.equalTo(@);
make.left.equalTo(@);
make.right.equalTo(@);
}]; UIView *backgroundView=[UIView new];
backgroundView.backgroundColor=[[UIColor whiteColor] colorWithAlphaComponent:0.7];
backgroundView.tag=;
backgroundView.userInteractionEnabled=YES;
[aView addSubview:backgroundView];
[backgroundView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(aView).with.insets(UIEdgeInsetsMake(, , , ));
}]; //黑色view
UIView *hView=[UIView new];
hView.tag=;
hView.backgroundColor=[UIColor clearColor];
hView.alpha = 0.7;
hView.layer.borderWidth = ;
hView.layer.borderColor = [UIColor clearColor].CGColor;
hView.layer.cornerRadius = ;
[aView addSubview:hView];
[hView mas_makeConstraints:^(MASConstraintMaker *make) {
make.size.mas_equalTo(CGSizeMake(, ));
make.centerX.mas_equalTo(aView.mas_centerX);
make.centerY.mas_equalTo(aView.mas_centerY);
}];
UIImageView *gifImageView = [[UIImageView alloc] initWithFrame:CGRectMake(, , , )];
gifImageView.tag=; NSArray *gifArray = [NSArray arrayWithObjects:[UIImage imageNamed:@"1_1"],
[UIImage imageNamed:@"2_1"],
[UIImage imageNamed:@"3_1"],
[UIImage imageNamed:@"4_1"],
[UIImage imageNamed:@"5_1"],
[UIImage imageNamed:@"6_1"],
[UIImage imageNamed:@"7_1"],
[UIImage imageNamed:@"8_1"],
[UIImage imageNamed:@"9_1"],
[UIImage imageNamed:@"10_1"],
[UIImage imageNamed:@"11_1"],
[UIImage imageNamed:@"12_1"],
[UIImage imageNamed:@"13_1"],
[UIImage imageNamed:@"14_1"],
[UIImage imageNamed:@"15_1"],
[UIImage imageNamed:@"16_1"],
[UIImage imageNamed:@"17_1"],
[UIImage imageNamed:@"18_1"],
[UIImage imageNamed:@"19_1"],
[UIImage imageNamed:@"20_1"],
[UIImage imageNamed:@"21_1"],
[UIImage imageNamed:@"22_1"],
[UIImage imageNamed:@"23_1"],
[UIImage imageNamed:@"24_1"],
[UIImage imageNamed:@"25_1"],nil];
gifImageView.animationImages = gifArray; //动画图片数组
gifImageView.animationDuration = ; //执行一次完整动画所需的时长
gifImageView.animationRepeatCount = ; //动画重复次数
[gifImageView startAnimating];
[hView addSubview:gifImageView]; }
+(void)stopAnimatedInView:(UIView *)aView
{
[[aView viewWithTag:] removeFromSuperview];
[[aView viewWithTag:] removeFromSuperview];
[[aView viewWithTag:] removeFromSuperview];
[[aView viewWithTag:] removeFromSuperview];
NSArray * arr = [aView subviews];
[arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
if ([obj isKindOfClass:[UIImageView class]])
{
UIImageView *active = (UIImageView *)obj;
[active stopAnimating]; }
}];
} @end

别问我为什么不for循环添加图片,代码比较早了,最近想起来,所以在博客里面记录了一下!

在pch文件里面:

//请求动画开始
#define HStart(h) [hActiveView startAnimatedInView:h];
//请求动画结束
#define HStop(h) [hActiveView stopAnimatedInView:h];

这样,就可以在想使用动画的地方直接使用了!

iOS开发之 -- 帧动画的使用的更多相关文章

  1. IOS开发系列 --- 核心动画

    原始地址:http://www.cnblogs.com/kenshincui/p/3972100.html 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥i ...

  2. iOS开发之核心动画(Core Animation)

    1.概述 Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架< ...

  3. iOS开发之各种动画各种页面切面效果

    因工作原因,有段时间没发表博客了,今天就发表篇博客给大家带来一些干货,切勿错过哦.今天所介绍的主题是关于动画的,在之前的博客中也有用到动画的地方,今天就好好的总结一下iOS开发中常用的动画.说道动画其 ...

  4. iOS开发 QQ粘性动画效果

    QQ(iOS)客户端的粘性动画效果 时间 2016-02-17 16:50:00  博客园精华区 原文  http://www.cnblogs.com/ziyi--caolu/p/5195615.ht ...

  5. 【转】iOS开发之各种动画各种页面切面效果

    原文: http://www.cnblogs.com/ludashi/p/4160208.html?utm_source=tuicool 因工作原因,有段时间没发表博客了,今天就发表篇博客给大家带来一 ...

  6. Android游戏开发研究帧动画实现

     1.动画的原则框架        帧的动画帧的动画顾名思义,画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在同样区域高速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,事实上只 ...

  7. iOS开发基础-序列帧动画之Tom猫

    新建一个Single View Application,向该工程中导入Tom猫的图片资源,本示例演示Tom猫喝牛奶的动作.图片的名字为 drink_00.jpg.drink_01.jpg.....dr ...

  8. 【iOS开发】---- UIView动画

      iOS 动画UIView动画 原文:http://www.cocoachina.com/bbs/read.php?tid=110168 1.概述 UIKit直接将动画集成到UIView类中,实现简 ...

  9. iOS 开发--转场动画

    "用过格瓦拉电影,或者其他app可能都知道,一种点击按钮用放大效果实现转场的动画现在很流行,效果大致如下:" 本文主讲SWIFT版,OC版在后面会留下Demo下载 在iOS中,在同 ...

随机推荐

  1. C#实现分片上传文件

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO ...

  2. 如何在IIS7或IIS7.5中导入导出站点及应用程序池. -摘自网络

    为实现负载平衡,我们可能会使用多个WEB服务器,也就会需要给多个IIS配置同样的站点和应用程序池.那么我们需要一个一个的重新建吗?当然不用,我们只需要一些简单的命令就可以在IIS7(Windows S ...

  3. java中native关键字的用法

    前言: 如果阅读过JDK的源码,我们会发现Thread.java类里有一个方法比较特殊 private native void start0(); 概念: native关键字说明其修饰的方法是一个原生 ...

  4. 实用crontab命令

    常用crontab如下: crontab -e 编辑 crontabcrontab -l  显示 crontabcrontab -r  删除 crontabcrontab -v 显示上一次编辑 cro ...

  5. cookie,session,localStage,sessionStage区别

    Cookie和Session详解 1.什么是Cookie Cookie是存放在客户端浏览器的Name/Value键值对,访问服务器时,会自动传递给服务器. Cookie的生成方式有两种,服务器写入,客 ...

  6. 06、Windows 10 技术预览

    随着 Windows 10 发布的,未来 Windows 平台都是统一开发模型,可以只写一个 Appx 包,就可以同时部署到 Windows/ Windowsw Phone/ Tablet /xbox ...

  7. ubuntu 16.04LTS

    安装出现"server64 busybox-initramfs安装失败" 这个是BUG,解决方法一:初次安装选择语言时,使用English,在后面还会有一个选择语言的界面,这时候再 ...

  8. (转)Sql Server之旅——第八站 复合索引和include索引到底有多大区别?

    索引和锁,这两个主题对我们开发工程师来说,非常的重要...只有理解了这两个主题,我们才能写出高质量的sql语句,在之前的博客中,我所说的 索引都是单列索引...当然数据库不可能只认单列索引,还有我这篇 ...

  9. CSS学习笔记(8)--纯CSS绘制三角形(各种角度)

    纯CSS绘制三角形(各种角度) CSS三角形绘制方法,学会了这个,其它的也就简单.   我们的网页因为 CSS 而呈现千变万化的风格.这一看似简单的样式语言在使用中非常灵活,只要你发挥创意就能实现很多 ...

  10. 最新PHPcms9.6.0 任意文件上传漏洞

    在用户注册处抓包: 然后发送到repeater POC: siteid=&modelid=&username=z1aaaac121&password=aasaewee311as ...