【仿去哪儿】骆驼动画加载
简单的实现正在加载的动画,比较粗糙,没有实现后面的旋转地球。图一为去哪儿的截图,图二为本文实现的效果
图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];
【仿去哪儿】骆驼动画加载相关推荐
- 仿 Cuto 壁纸应用的加载动画
CutoLoadingView 项目地址:andyxialm/CutoLoadingView 简介:仿 Cuto 壁纸应用的加载动画 A custom loading view, just like ...
- 一款炫酷Loading动画--加载失败
简介 上一篇文章一款炫酷Loading动画–加载成功,给大家介绍了成功动画的绘制过程,这篇文章将接着介绍加载失败特效的制作. 相比成功动画,有了前面的经验,失败动画的过程就显得比较简单了. 动画结构分 ...
- 环形动画加载视图AnimatedCircleLoadingView
2019独角兽企业重金招聘Python工程师标准>>> 环形动画加载视图AnimatedCircleLoadingView AnimatedCircleLoadingView是基于A ...
- jquery仿邮箱文本输入框自动加载邮箱后缀
jquery仿邮箱文本输入框自动加载邮箱后缀 在像百度这样的网站注册时,你会看到输入邮箱会出现自动给用户输入补全主流邮箱.这种对于增加用户体验的小例子已司空见惯.正好看到人家写的这种js功能.还挺不错 ...
- 环形动画加载视图AnimatedCircleLoadingView
环形动画加载视图AnimatedCircleLoadingView AnimatedCircleLoadingView是基于Android手表动画android-watch-loading-anima ...
- 如何在React Native中创建精美的动画加载器
by Vikrant Negi 通过Vikrant Negi 如何在React Native中创建精美的动画加载器 (How to create a beautifully animated load ...
- android 动画间隔时间,Android使用View Animation实现动画加载界面
之前分别介绍了View Animation和Drawable Animation,学了就要用啊,今天给大家一个使用View Animation实现动画加载界面的实现. 首先先看一下实现效果. 下面是实 ...
- 前端加载动画/加载等待动画
在加载前端的数据的时候,很多时候不能用进度条来衡量不定数据量.此时加载动画就有用武之地了.可以在数据请求时显示加载动画,等动画加载完成再隐藏加载动画,让前端更具交互友好性. 网上百度了很多关于这方面的 ...
- Spine动画加载优化思路 之 Spine动画加载问题
本文对于Spine动画加载的流程进行了修改,使用了懒加载的方式实现Spine动画的按需加载,有效地降低Spine动画的堆内存分配.文章包括思路分析,代码详解,优化前后的性能对比. <Spin ...
最新文章
- Android 编译源码 注意事项
- Alibaba Java诊断利器Arthas实践--使用redefine排查应用奇怪的日志来源
- 查看python安装路径-在cmd中查看python的安装路径方法
- 011_Vue自定义指令
- 使用Asible批量部署yum仓库
- 计算机游戏88关,天天象棋88关怎么过 闯关模式第88关图文攻略
- CMS - tabBar
- 深入浅出设计模式_深入浅出设计模式03接口隔离原则
- android double转string_Java 数组转 List 的三种方式及对比
- linux 共享内存陷井,linux共享内存应用与陷阱
- Python零基础学习笔记(十三)—— if 和 if-else语句...
- http304状态码缓存设置问题
- mysql注入提取邮件_【sql注入教程】mysql注入直接getshell
- Windows10中“SQL Server 配置管理器”哪去了?
- PHP的面向对象模型(转贴)
- CentOS 如何修改mysql 用户root的密码
- (原创)TCP-IP学习笔记之UDP(用户数据报协议)
- 木耳炒什么好吃 木耳的做法
- 数据分析入门:15种EXCEL数据分析功能
- ESP-iSYS数据库(实时数据库),API使用