简单的实现正在加载的动画,比较粗糙,没有实现后面的旋转地球。图一为去哪儿的截图,图二为本文实现的效果

图1

图2

一、新建LoadView继承自UIView,声明几个方法,这样在项目需要用到时,直接调用就行, LoadView .h文件如下:

@interface LoadView : UIView
- (EmptyView*)initWithTitle:(NSString *)title;
-(void)setStaticImageWithTitle:(NSString*)title;
-(void)hiddenImage:(id)Mainview;
@end

二、LoadView.m文件,其中BannerLoadingX.jpg就是骆驼的动画图片

#define WIDTH [UIScreen mainScreen].bounds.size.width
#define HEIGHT [UIScreen mainScreen].bounds.size.height
#define ImageW 102
#define ImageH 70
#define LabelW 100
#define LabelH 30;@implementation LoadView{UIImageView *imageView;UILabel *label;
}#pragma mark  初始化Loading动画
- (EmptyView*)initWithTitle:(NSString *)title
{self = [super init];if (self) {imageView = [[UIImageView alloc] initWithFrame:CGRectMake((WIDTH-ImageW)/2, 100, ImageW, ImageH)];imageView.animationImages = [NSArray arrayWithObjects:[UIImage imageNamed:@"BannerLoading1.jpg"],[UIImage imageNamed:@"BannerLoading2.jpg"],[UIImage imageNamed:@"BannerLoading3.jpg"],[UIImage imageNamed:@"BannerLoading4.jpg"],[UIImage imageNamed:@"BannerLoading5.jpg"],nil];//为动画设置持续时间imageView.animationDuration = 3.0;//为默认的无限循环imageView.animationRepeatCount = 0;//开始播放动画[imageView startAnimating];label = [[UILabel alloc] initWithFrame:CGRectMake(0, 228, WIDTH,30)];[label setText:title];[label setTextAlignment:NSTextAlignmentCenter];[label setTextColor:[UIColor grayColor]];[self addSubview:imageView];[self addSubview:label];}return self;
}#pragma mark  加载失败时调用,显示加载失败图片
-(void)setStaticImageWithTitle:(NSString*)title{UIImage *image = [UIImage imageNamed:@"NetworkErrorHint"];[imageView stopAnimating];[imageView setImage:image];[label setText:title];
}#pragma mark  加载成功后调用,隐藏加载视图
-(void)hiddenImage:(id)Mainview{self.hidden = YES;
}@end

三、在项目中使用

(1)#import "LoadView.h"

(2)声明一个LoadView类的实例view

(3)在需要显示Loading时调用:

view = [[EmptyView alloc] initWithTitle:@"正在努力加载!"];

(4)在加载失败时调用:

[view setStaticImageWithTitle:@"网络错误!"];

(5)在加载成功时调用:

[view hiddenImage:self];

【仿去哪儿】骆驼动画加载相关推荐

  1. 仿 Cuto 壁纸应用的加载动画

    CutoLoadingView 项目地址:andyxialm/CutoLoadingView 简介:仿 Cuto 壁纸应用的加载动画 A custom loading view, just like ...

  2. 一款炫酷Loading动画--加载失败

    简介 上一篇文章一款炫酷Loading动画–加载成功,给大家介绍了成功动画的绘制过程,这篇文章将接着介绍加载失败特效的制作. 相比成功动画,有了前面的经验,失败动画的过程就显得比较简单了. 动画结构分 ...

  3. 环形动画加载视图AnimatedCircleLoadingView​​​​​​​

    2019独角兽企业重金招聘Python工程师标准>>> 环形动画加载视图AnimatedCircleLoadingView AnimatedCircleLoadingView是基于A ...

  4. jquery仿邮箱文本输入框自动加载邮箱后缀

    jquery仿邮箱文本输入框自动加载邮箱后缀 在像百度这样的网站注册时,你会看到输入邮箱会出现自动给用户输入补全主流邮箱.这种对于增加用户体验的小例子已司空见惯.正好看到人家写的这种js功能.还挺不错 ...

  5. 环形动画加载视图AnimatedCircleLoadingView

    环形动画加载视图AnimatedCircleLoadingView AnimatedCircleLoadingView是基于Android手表动画android-watch-loading-anima ...

  6. 如何在React Native中创建精美的动画加载器

    by Vikrant Negi 通过Vikrant Negi 如何在React Native中创建精美的动画加载器 (How to create a beautifully animated load ...

  7. android 动画间隔时间,Android使用View Animation实现动画加载界面

    之前分别介绍了View Animation和Drawable Animation,学了就要用啊,今天给大家一个使用View Animation实现动画加载界面的实现. 首先先看一下实现效果. 下面是实 ...

  8. 前端加载动画/加载等待动画

    在加载前端的数据的时候,很多时候不能用进度条来衡量不定数据量.此时加载动画就有用武之地了.可以在数据请求时显示加载动画,等动画加载完成再隐藏加载动画,让前端更具交互友好性. 网上百度了很多关于这方面的 ...

  9. Spine动画加载优化思路 之 Spine动画加载问题

    本文对于Spine动画加载的流程进行了修改,使用了懒加载的方式实现Spine动画的按需加载,有效地降低Spine动画的堆内存分配.文章包括思路分析,代码详解,优化前后的性能对比. ​ <Spin ...

最新文章

  1. Android 编译源码 注意事项
  2. Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源
  3. 查看python安装路径-在cmd中查看python的安装路径方法
  4. 011_Vue自定义指令
  5. 使用Asible批量部署yum仓库
  6. 计算机游戏88关,天天象棋88关怎么过 闯关模式第88关图文攻略
  7. CMS - tabBar
  8. 深入浅出设计模式_深入浅出设计模式03接口隔离原则
  9. android double转string_Java 数组转 List 的三种方式及对比
  10. linux 共享内存陷井,linux共享内存应用与陷阱
  11. Python零基础学习笔记(十三)—— if 和 if-else语句...
  12. http304状态码缓存设置问题
  13. mysql注入提取邮件_【sql注入教程】mysql注入直接getshell
  14. Windows10中“SQL Server 配置管理器”哪去了?
  15. PHP的面向对象模型(转贴)
  16. CentOS 如何修改mysql 用户root的密码
  17. (原创)TCP-IP学习笔记之UDP(用户数据报协议)
  18. 木耳炒什么好吃 木耳的做法
  19. 数据分析入门:15种EXCEL数据分析功能
  20. ESP-iSYS数据库(实时数据库),API使用

热门文章

  1. linux uart m200平台波特率500kbps乱码问题和输入不响应问题
  2. 原创:去繁存简,回归本源:微信小程序公开课信息分析《一》
  3. SQL Server2008附加数据库之后显示为只读
  4. HDU 2717 Catch That Cow(BFS)
  5. SLAM精度测评——EVO
  6. DI 依赖注入实现原理
  7. 征集佳句-精妙SQL语句收集
  8. 人脸识别引擎SeetaFaceEngine中Identification模块使用的测试代码
  9. 【Go】Go基础(三):基本结构和基本数据类型
  10. php工程模式,PHP设计模式(八):工厂模式