IOS 加载中提示框

LoadingView.h
#import <Foundation/Foundation.h>
@class MBProgressHUD;

@interface LoadingView : NSObject

@property (nonatomic, retain) MBProgressHUD *HUD;

+ (LoadingView *)sharedInstance;

/**
 *  加载中提示框
 *
 *  @param title     标题
 *  @param superView 父View
 */
- (void)showLoadingViewWithTitle:(NSString *)title superView:(UIView *)superView;

/**
 *  加载中提示框
 *
 *  @param title     标题
 *  @param delay     关闭时间
 *  @param superView 父View
 */
- (void)showLoadingViewWithTitle:(NSString *)title afterDelay:(NSTimeInterval)delay superView:(UIView *)superView;

/**
 *  关闭提示框
 */
- (void)closeLoadingView;

@end

LoadingView.m
#import "LoadingView.h"
#import "MBProgressHUD.h"

@implementation LoadingView

@synthesize HUD;

static LoadingView *_shardLoadingView = nil;

+ (LoadingView *)sharedInstance
{
    if (_shardLoadingView == nil) {
        _shardLoadingView = [[LoadingView alloc]init];
    }
    return _shardLoadingView;
}

- (id)init
{
    self = [super init];
    if (self) {
         HUD = [[MBProgressHUD alloc] init];
    }
    return self;
}

- (void)showLoadingViewWithTitle:(NSString *)title superView:(UIView *)superView
{
    HUD.labelText = title;
    [superView addSubview:HUD];
    [superView bringSubviewToFront:HUD];
    [HUD show:YES];
    
}

- (void)showLoadingViewWithTitle:(NSString *)title afterDelay:(NSTimeInterval)delay superView:(UIView *)superView
{
    HUD.labelText = title;
    [superView addSubview:HUD];
    [superView bringSubviewToFront:HUD];
    [HUD show:YES];
    
    [HUD hide:YES afterDelay:delay];
}

- (void)closeLoadingView
{
    [HUD hide:YES];
}

@end

// 使用
 [[LoadingView sharedInstance]showLoadingViewWithTitle:@"加载中...." superView:self.view];

原文地址:https://www.cnblogs.com/joesen/p/3584754.html