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

代码如下:

.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. webqq协议分析之~~~~登陆

    最近好几个新项目积一起了,比较忙,所以博客迟迟未更新,还请各位见谅!下面来继续分析webqq协议,本章将说明如何实现登陆 1:输入QQ号和密码登陆,检测HTTP请求url如下,这是第一次登陆 http ...

  2. 架构(三层架构)、框架(MVC)、设计模式三者异同点

    前言: 本博客主要针对架构.框架和设计模式三者的区别.还有三层和MVC的区别进行讨论.对于这三者一点都不了解的.请点在维基和百度百科上补补课.这里就不发链接了 软件架构(software archit ...

  3. 使用HTML5的Notification API制作web通知的教程(转)

    var notification=new Notification(‘Notification Title',{ body:'Your Message' }); 上面的代码构造了一个简陋的通知栏.构造 ...

  4. PHP is_callable 方法

    is_callable (PHP 4 >= 4.0.6, PHP 5) is_callable — 验证变量的内容是否能够进行函数调用 Description bool is_callable  ...

  5. vim在vps内的终端内支持molokai

    vps的终端内默认的颜色数好像很低.对molokai的支持一直不好. 后查找后得知:vim终端方式默认为16色,而molokai为256配色方案 我以为这是硬件问题,没有解决办法,一直到有一天,我在配 ...

  6. CYQ多数据库链接

     枚举名XXXEnum  对应XXXConn的配置数据库链接项 ,不多说,一看就明白!名字空间得要带上数据库名!

  7. iOS之美: UIView 与 UIWindow之间的关系

    转自:http://leopard168.blog.163.com/blog/static/168471844201381584533466/ 面对iOS初学者,总会被问到一些不常被关注的问题,比如: ...

  8. docker 不同机器上容器互相通信

    环境说明: 1.系统:centos7 2.docker:Docker version 1.3.2 3.docker启动参数:OPTIONS=--selinux-enabled=false -H fd: ...

  9. php7性能、兼容性和稳定性探讨

    前几天看到php7发布了beta1版本,想了解一下php7到底折腾了些啥东西出来.这一了解发现不得了了,改变还挺多的.最最重要的方面就是性能提升了不少,这边有一个pdf文件是惠新宸(鸟哥,php核心开 ...

  10. 每日英语:China Grapples With Genetically Modified Foods

    A Chinese agricultural official's unsupported claims about the carcinogenic risks of consuming genet ...