LoadingView 自定义加载图片
#import <UIKit/UIKit.h>
@interface LoadingView : UIView
@property (nonatomic,strong) NSMutableArray *giftImageArray;
+(id)showLoadingView;
+(void)hidenLoadingView:(LoadingView *)loadingView;
@end
#import "LoadingView.h"
- (instancetype)init
{
self = [super init];
if (self) {
self.frame = CGRectMake( 0, 0, ScreenWidth, ScreenHeight);
UIView *backView = [[UIView alloc]initWithFrame:CGRectMake( 0, 0, ScreenWidth, ScreenHeight)];
backView.backgroundColor = [UIColor blackColor];
backView.alpha = 0.7;
[self addSubview:backView];
}
return self;
}
+(id)showLoadingView{
LoadingView *loadingView = [[LoadingView alloc]init];
NSMutableArray *array = [NSMutableArray array];
for (int i = 0; i < 7; i++) {
UIImage *image = [UIImage imageNamed:[NSString stringWithFormat: @"loading_da%d",i+1]];
[array addObject:image];
}
UIImageView *loading = [[UIImageView alloc]initWithFrame:CGRectMake( ScreenWidth/2-Width(77), ScreenHeight/2 - Width(77), Width(154), Width(154))];
[loadingView addSubview:loading];
[UIView animateWithDuration:1 animations:^{
} completion:^(BOOL finished) {
loadingView.giftImageArray = array;
loading.animationDuration = 0.7;
loading.animationImages = loadingView.giftImageArray;
loading.animationRepeatCount = 0;
loading.image = [loadingView.giftImageArray firstObject];
[loading startAnimating];
}];
[loadingView show];
return loadingView;
}
+(void)hidenLoadingView:(LoadingView *)loadingView{
[loadingView performSelector:@selector(hide) withObject:nil afterDelay:0.4];
}
//添加 背景灰度
- (void)show{
//添加到window上 就不需要再次添加到self.view上了
UIWindow *win = [[UIApplication sharedApplication] keyWindow];
UIView *topView = [win.subviews objectAtIndex:0];
[topView addSubview:self];
[UIView animateWithDuration:0.1 animations:^{
[self layoutIfNeeded];
}];
}
- (void)hide{
[UIView animateWithDuration:0.1 animations:^{
self.alpha = 0;
[self layoutIfNeeded];
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}
LoadingView 自定义加载图片的更多相关文章
- ImageLoader加载图片
		
先导universal-image-loader-1.9.3包 在application配置 android:name=".MyApplication" intent权限 1 pa ...
 - 利用Volley封装好的图片缓存处理加载图片
		
Volley 工具箱中提供了一种通过 DiskBasedCache 类实现的标准缓存.这个类能够缓存文件到磁盘的指定目录.但是为了使用 ImageLoader,我们应该提供一个自定义的内存 LRC b ...
 - Glide 加载图片
		
//通过model获取到图片的url,将Url转换成bitmap对象: //设置不保存内存和硬盘缓存, 1 Glide.with(mContext).load(model.getVideoUrl()) ...
 - Android之使用Android-AQuery异步加载图片(一)
		
第一节:转载地址(http://www.cnblogs.com/lee0oo0/archive/2012/10/25/2738299.html) // 必须实现AQuery这个类 AQuery aq ...
 - Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案
		
我们在使用ListView异步加载图片的时候,在快速滑动或者网络不好的情况下,会出现图片错位.重复.闪烁等问题,其实这些问题总结起来就是一个问题,我们需要对这些问题进行ListView的优化. 比如L ...
 - 使用UIL(Universal-Image-Loader)异步加载图片
		
概要: Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是实现可重复使用的异步图像加载.缓存和显示.所以,如果你的程序里需要这个功能的话,使用它,因为 ...
 - 图片--Android加载图片导致内存溢出(Out of Memory异常)
		
Android在加载大背景图或者大量图片时,经常导致内存溢出(Out of Memory Error),本文根据我处理这些问题的经历及其它开发者的经验,整理解决方案如下(部分代码及文字出处无法考证) ...
 - 多线程异步加载图片async_pictures
		
异步加载图片 目标:在表格中异步加载网络图片 目的: 模拟 SDWebImage 基本功能实现 理解 SDWebImage 的底层实现机制 SDWebImage 是非常著名的网络图片处理框架,目前国内 ...
 - ListView与GridView异步加载图片
		
原理很简单,主要是用到了回调方法,下面是异步加载图片的类 <span style="font-size:16px;">package com.xxx.xxx; impo ...
 
随机推荐
- codevs 1060
			
题目大意: 有2n张票,分别有A,B两类,求最后两个人拿到同种票的概率.n<=1250; 想想这题应该是组合啊..但是到底是组合还是排列..如果是组合, 概率为:1-两种票都取了n-1张的情况, ...
 - Leetcode 第一遍刷完
			
2014/10/15 Leetcode第一刷总算结束,时间拖太长了,希望第二遍能快一点,争取一个月能刷完第二遍??哈哈哈哈
 - LCA的五种解法
			
标准求法 //O(nlogn)-O(logn) #include<cstdio> #include<algorithm> using namespace std; ; ],to ...
 - Checkbox的选中删除功能且Ajax返回后清除所选行
			
转摘:http://javaweb1024.com/qianduan/jQuery/2015/04/13/544.html 功能描述:多选框勾选以后(全部或者部分),需要想后台提交已勾选的数据(Aja ...
 - MyEclipse设置注释格式(转载)
			
Window --> Java --> Code Style --> Code Templates --> Comments --> types --> Edit ...
 - 像jQuery那样,采用链式方法,封装一个方法:CSS()
			
主要思路就是:返回this对象,将所获取的操作元素放入一个数组中.在原型中添加拓展方法 <html> <head> <title></title> &l ...
 - Qt make clickable label 制作可点击的Label控件
			
Qt中的Label标签控件的作用绝不仅仅限于显示静态文本,其实它的功能很强大,由于其有setPixmap()成员函数,故而可以当显示图片窗口使用,而且还可以实时显示摄像头捕获的图片,然后它对鼠标事件的 ...
 - ThinkPHP框架的部署
			
1.将ThinkPHP框架的框架文件放到想要放置的地方,与创建的应用文件夹同级 2.vhost文件中设置虚拟目录 3.在hosts文件中配置 4.在应用目录中创建入口文件index.php 5.在入口 ...
 - opengl画圆
			
通过这个例子可以更加深刻的了解割圆术的原理,明白如何的化曲为直,且看代码: #include <windows.h> //#include <GLUT/glut.h> #inc ...
 - Apache Spark源码走读之5 -- DStream处理的容错性分析
			
欢迎转载,转载请注明出处,徽沪一郎,谢谢. 在流数据的处理过程中,为了保证处理结果的可信度(不能多算,也不能漏算),需要做到对所有的输入数据有且仅有一次处理.在Spark Streaming的处理机制 ...