自定义等待视图

AlertView.h

#import <UIKit/UIKit.h>



@interface AlertView : UIView



@property (strong, nonatomic) UILabel *messageLabel;

@end

AlertView.m

#import "AlertView.h"



@interface AlertView()

{

    UIActivityIndicatorView *activityIndicatorView;

}

@end



@implementation AlertView

@synthesize messageLabel;



-(id) init

{

    CGRect viewRect = CGRectMake(0, 0, 120, 120);

    self = [super initWithFrame:viewRect];

    

    if (self) {

        [self initSetup];

        [self initActivityIndicatorView];

        [self initMessage];

    }

    return self;

}



-(void) initSetup

{

    CGRect mainRect = [[UIScreen mainScreen] bounds];

    self.backgroundColor = [UIColor blackColor];

    self.center = CGPointMake(mainRect.size.width / 2, mainRect.size.height / 2);

    self.alpha = 0.6;

    [[self layer] setCornerRadius: 15.0];

}



-(void) initActivityIndicatorView

{

    CGRect frameRect = self.frame;

    activityIndicatorView = [[UIActivityIndicatorView alloc]

                             initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];

    activityIndicatorView.center = CGPointMake(frameRect.size.width / 2, frameRect.size.height / 2 - 10);

    [self addSubview:activityIndicatorView];

    [activityIndicatorView startAnimating];

}



-(void) initMessage

{

    messageLabel = [[UILabel alloc]init];

    messageLabel.frame = CGRectMake(0, 0, self.frame.size.width - 15, 20);

    messageLabel.font = [UIFont fontWithName:@"Arial-Bold" size:15];

    messageLabel.textColor = [UIColor whiteColor];

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

    messageLabel.text = @"Please Wait...";

    [self addSubview:messageLabel];

}



@end

使用:

#import "ViewController.h"

#import "AlertView.h"



@interface ViewController ()

{

    AlertView *alertView;

}

@end



@implementation ViewController



- (void)viewDidLoad

{

    [super viewDidLoad];

    alertView = nil;

}



-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    if (alertView) {

        [alertView removeFromSuperview];

        alertView = nil;

    }

    else

    {

        alertView = [[AlertView alloc]init];

        [self.view addSubview:alertView];

    }

}

 

你可能感兴趣的:(自定义)