一,效果图。

二,工程图。

三, 代码。
ViewController.h
class="cnblogs_code_copy" style="font-size: 18px"> 
#import <UIKit/UIKit.h>
//loading
#import "GPLoadingButton.h"
@interface ViewController : UIViewController
{
    //loading
    GPLoadingButton *loadingButton;
    UIView *backViewLoad;
}
@end
 
ViewController.m
 
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    //loading
    [self addLoadingView];
}
//点击任何处,loading出现
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    backViewLoad.hidden=NO;
    loadingButton.hidden=NO;
    [loadingButton startActivity];
    //5s后loading消失
    [self performSelector:@selector(loadingStop) withObject:nil afterDelay:2];
}
-(void)loadingStop
{
    backViewLoad.hidden=YES;
    loadingButton.hidden=YES;
    [loadingButton stopActivity];
}
#pragma -mark --loading------
-(void)addLoadingView
{
    backViewLoad=[[UIView alloc]initWithFrame:CGRectMake(0, 0,self.view.frame.size.width, self.view.frame.size.height)];
    backViewLoad.backgroundColor=[UIColor blackColor];
    backViewLoad.alpha=0.7;
    backViewLoad.hidden=YES;
    [self.view addSubview:backViewLoad];
    
    
    loadingButton = [[GPLoadingButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2-20, (self.view.frame.size.height-38)/2-20, 40, 40)];
    loadingButton.rotatorColor = [UIColor colorWithRed:59/255.0 green:89/255.0 blue:152/255.0 alpha:1.0];
    loadingButton.hidden=YES;
    [self.view addSubview:loadingButton];
    
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
@end
