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]; } }
时间: 2024-10-18 20:27:52