iOS开发之 -- 帧动画的使用
在项目的开发过程中,我们经常会遇到使用动画的时候,比如我们在请求接口直接开始一个动画,请求结束后结束动画,下面我就给大家展示一个很方便的帧动画的用法:
代码如下:
.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开发之 -- 帧动画的使用的更多相关文章
- IOS开发系列 --- 核心动画
原始地址:http://www.cnblogs.com/kenshincui/p/3972100.html 概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥i ...
- iOS开发之核心动画(Core Animation)
1.概述 Core Animation是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍,使用它需要先添加QuartzCore.framework和引入对应的框架< ...
- iOS开发之各种动画各种页面切面效果
因工作原因,有段时间没发表博客了,今天就发表篇博客给大家带来一些干货,切勿错过哦.今天所介绍的主题是关于动画的,在之前的博客中也有用到动画的地方,今天就好好的总结一下iOS开发中常用的动画.说道动画其 ...
- iOS开发 QQ粘性动画效果
QQ(iOS)客户端的粘性动画效果 时间 2016-02-17 16:50:00 博客园精华区 原文 http://www.cnblogs.com/ziyi--caolu/p/5195615.ht ...
- 【转】iOS开发之各种动画各种页面切面效果
原文: http://www.cnblogs.com/ludashi/p/4160208.html?utm_source=tuicool 因工作原因,有段时间没发表博客了,今天就发表篇博客给大家带来一 ...
- Android游戏开发研究帧动画实现
1.动画的原则框架 帧的动画帧的动画顾名思义,画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在同样区域高速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,事实上只 ...
- iOS开发基础-序列帧动画之Tom猫
新建一个Single View Application,向该工程中导入Tom猫的图片资源,本示例演示Tom猫喝牛奶的动作.图片的名字为 drink_00.jpg.drink_01.jpg.....dr ...
- 【iOS开发】---- UIView动画
iOS 动画UIView动画 原文:http://www.cocoachina.com/bbs/read.php?tid=110168 1.概述 UIKit直接将动画集成到UIView类中,实现简 ...
- iOS 开发--转场动画
"用过格瓦拉电影,或者其他app可能都知道,一种点击按钮用放大效果实现转场的动画现在很流行,效果大致如下:" 本文主讲SWIFT版,OC版在后面会留下Demo下载 在iOS中,在同 ...
随机推荐
- ubuntu13.04如何修改保存屏幕亮度
ubuntu13.04如何修改保存屏幕亮度 入手ubuntu两月有余,最初只是想装个ubuntu学习下linux,然后搞了个win7和ubuntu的双系统,最后干脆将win7干掉了,直接让ubu ...
- android:hint属性对TextView的影响
近期看到同事写的一段代码,非常easy吧就是: <LinearLayout android:layout_width="wrap_content" android:layou ...
- quartusii开发过程中路径不能出现空格或中文
quartusii开发过程中路径不能出现空格或中文,否则软件出现.stf文件错误提示,开发环境搭建的时候也不能出现空格和中文,否则也会报错.
- 再谈RESTAPI最佳实践
近一年半,我参与了两到三个项目的工作,这些项目涉及到大量供“外部”使用的REST API,稍后我们会看到为什么要将“外部”这个词放在引号之中.在项目工作期间,我不得不对这些API进行反复地设计,再设计 ...
- 自己是个菜鸟 自己查找的简单的适合初学的Makefile
工程中的代码分别存放在add/add_int.c.add/add_float.c.add/add.h.sub/sub_int.c.sub/sub_float.c.sub/sub.h.main.c中. ...
- 信号处理函数(3)-sigaction() 为信号注册信号捕捉函数
定义: int sigaction(int signum,const struct sigaction *act ,struct sigaction *oldact); 表头文件: #include& ...
- cocos2d-x的win32编译环境
1> 检查或配置VS 1.1>头文件 [c/c++]->附加包含目录 1.2>依赖库 [链接器]->[输入]->[附加依赖项] 2> 可能出现 ...
- 兼容浏览器的min-height和min-width
http://www.cnblogs.com/pigtail/archive/2012/06/28/2568646.html CSS 子元素宽度变宽时,如何撑开父元素https://zhidao.ba ...
- jdom 插入 修改 删除
创建XML文档 XML文件是一种典型的树形文件,每个文档元素都是一个document元素的子节点.而每个子元素都是一个Element对象,对象可以向下包含. 1 因此我们可以通过先创建元素再将元素添加 ...
- python学习笔记(10)--爬虫下载煎蛋图片
说明: 1. 有很多细节需要注意! 2. str是保留字,不要作为变量名 3. 保存为txt报错,encoding=utf-8 4. 403错误,添加headers的方法 5. 正则match只能从开 ...