//

//  LoadingView.h

//  蓝桥播报

//

//  Created by 小小建 on 15/7/10.

//  Copyright (c) 2015年 蓝桥. All rights reserved.

//

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>

@interface LoadingView : NSObject

{

UIView *_backGroundView;

UIView *_centerLoadingView;

UIActivityIndicatorView *_activityView;

}

+(LoadingView *)shareLoadingView;

-(void)show;

-(void)hide;

@end

//

//  LoadingView.m

//  蓝桥播报

//

//  Created by 小小建 on 15/7/10.

//  Copyright (c) 2015年 蓝桥. All rights reserved.

//

#import "LoadingView.h"

#import "AppDelegate.h"

static LoadingView *singleInstance=nil;

@implementation LoadingView

+(LoadingView *)shareLoadingView{

@synchronized(self){

if (singleInstance==nil) {

singleInstance=[[self alloc] init];

}

}

return singleInstance;

}

-(void)show{

AppDelegate *delegate=(AppDelegate *)[UIApplication sharedApplication].delegate;

_backGroundView=[[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];

[_backGroundView setBackgroundColor:[UIColor blackColor]];

_backGroundView.alpha=0.6;

[delegate.window addSubview:_backGroundView];

_centerLoadingView=[[UIView alloc] initWithFrame:CGRectMake(0, 0, 150, 150)];

_centerLoadingView.center=CGPointMake([UIScreen mainScreen].bounds.size.width/2, [UIScreen mainScreen].bounds.size.height/2);

UIImageView *imgView=[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 150, 150)];

[imgView setImage:[UIImage imageNamed:@"loading_bg.png"]];

_activityView = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

_activityView.center = CGPointMake(imgView.frame.size.width/2, imgView.frame.size.height/2-20);

_activityView.hidesWhenStopped = YES;

[_activityView startAnimating];

[imgView addSubview:_activityView];

UILabel *labelInfo = [[UILabel alloc] initWithFrame:CGRectMake(0,0, 140, 60)];

labelInfo.center=CGPointMake(imgView.frame.size.width/2, imgView.frame.size.height/2+20);

labelInfo.numberOfLines = 2;

labelInfo.backgroundColor = [UIColor clearColor];

labelInfo.textAlignment = NSTextAlignmentCenter;

labelInfo.textColor = [UIColor whiteColor];

labelInfo.font = [UIFont systemFontOfSize:16];

labelInfo.text=@"加载中...";

[imgView addSubview:labelInfo];

[_centerLoadingView addSubview:imgView];

[delegate.window addSubview:_centerLoadingView];

}

-(void)hide{

[_activityView stopAnimating];

[_centerLoadingView removeFromSuperview];

[_backGroundView removeFromSuperview];

}

@end

LoadingView的更多相关文章

  1. Android showing LoadingView or EmptyView for Activity or Fragment

    这几天利用一些时间,整理了一下,写了一个简单的工具类,用来快速的显示LoadingView或者EmptyView,以前都是定义一个layout,根布局为FrameLayout,再在layout布局文件 ...

  2. LoadingView 自定义加载图片

    #import <UIKit/UIKit.h> @interface LoadingView : UIView @property (nonatomic,strong) NSMutable ...

  3. Android 自定义通用的loadingview

    介绍 好久没有写博客啦,最近在接近新年了,年前的工作都要收尾,所以特别忙,周末抽空写了个通用的加载view,写篇博客分享出来. 功能 1.显示加载视图,加载失败的时候显示加载失败视图,数据为空时显示数 ...

  4. (Android自定义View)来来来,一起再撸一个Material风格loadingView。

    本文同步自博主的个人博客wing的地方酒馆 很久很久以前,撸了一款loadingview(点击这里回顾),当时觉得还不错,现在看看觉得好丑啊!!! 于是想再撸一个,无意间在这里看到一个很不错的效果,于 ...

  5. 手把手教你画一个 逼格满满圆形水波纹loadingview Android

    才没有完结呢o( ̄︶ ̄)n .大家好,这里是番外篇. 拜读了爱哥的博客,又学到不少东西.爱哥曾经说过: 要站在巨人的丁丁上. 那么今天,我们就站在爱哥的丁丁上来学习制作一款自定义view(开个玩笑,爱 ...

  6. 自定义控件---loadingView

    自定义加载框,效果如图: 这个loadingView可以在图片下添加文案(加载中...),还可以自定义动画效果,自定义布局文件,屏蔽用户操作,点击返回键后隐藏. 库类中包含了一个LoadingDial ...

  7. 三角函数之美-水波纹载入LoadingView

    一.前言 学习是要总结的.近期几天学习了画图相关的,可是使用的机会较少,如今又快要遗忘了,这次看了水波纹的绘制.认为十分有意思,还是 把实现的方法记录下来.技术无他,为手熟尔.还是要多练习,空淡误国, ...

  8. HarmonyOS三方件开发指南(15)-LoadingView功能介绍

    目录: 1. LoadingView组件功能介绍2. Lottie使用方法3. Lottie开发实现4.<HarmonyOS三方件开发指南>系列文章合集 1. LoadingView组件功 ...

  9. iOS开发系列--Swift进阶

    概述 上一篇文章<iOS开发系列--Swift语言>中对Swift的语法特点以及它和C.ObjC等其他语言的用法区别进行了介绍.当然,这只是Swift的入门基础,但是仅仅了解这些对于使用S ...

随机推荐

  1. 微信公众平台oauth2.0网页授权参考资料

    http://www.wangwenxiao.com/weixin/wxgzptoauth2_0wysq_12.html

  2. excel转json工具的制作(C#语言)

    最近在做一个火炬之光的技能系统的demo,需要用到配置表工具. &在网上没有找到让自己满意的工具&自己感兴趣, so自己做了一个. 我使用的C#语言,用了网上的SimpleJSON工具 ...

  3. IIS配置域用户自动登录

    1.首先确定IIS所在计算机是否已添加到域中:右击计算机->属性,在计算机名称,域,工作组设置中可看到计算机所在的域,若没有,可点击更改设置,再点击更改,选择要绑定的域即可(需要用域账户登录). ...

  4. 用ILSpy查看Session.SessionID的生成算法

    缘由 asp.net Session在InProc模式下,容易丢失,经常需要重新登录,且不支持分布式共享. 所以在研究Redis实现原生的Session,本来想用GUID作为key存入cookie,又 ...

  5. HDU5988 Coding Contest(费用流)

    2016青岛现场赛的一题,由于第一次走过不会产生影响,需要拆点,不过比赛时没想到,此外还有许多细节要注意,如要加eps,时间卡得较紧要注意细节优化等 #include <iostream> ...

  6. Windows下用tree命令生成目录树

    有时候我们想为某个目录制作一个文档结构图,在Windows上,我们知道是使用tree命令. 但是,默认情况下tree只显示子目录名,而不显示子目录里的文件名,需要加上/F参数才能显示完整的文件名.   ...

  7. 基于AgileEAS.NET SOA 中间件领域模型数据器快速打造自己的代码生成器

    一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...

  8. 前端试题本(HTML+CSS篇)

    CS1. 下面关于IE.FF下面CSS的解释区别描述正确的有?(不定项)CS2请选出结构正确的选项CS3.下面哪些是HTML5 新增的表单元素?CS4在使用table表现数据时,有时候表现出来的会比自 ...

  9. 不注册COM在Richedit中使OLE支持复制粘贴

    正常情况下在Richedit中使用OLE,如果需要OLE支持复制粘贴,那么这个OLE对象必须是已经注册的COM对象. 注册COM很简单,关键问题在于注册时需要管理员权限,这样一来,如果希望APP做成绿 ...

  10. python 学习第三天

    一,Python的数据结构-集合 1,集合的定义 Python中集合是以{}括起来的,例如x=set({1,2,3,4,5}),这就是一个集合,集合的特点有:(1),去重的(2),无序的,集合的作用用 ...