• 自定义等待视图


    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];
        }
    }
  • 相关阅读:
    剑指offer题解(python版)(更新到第16题)
    Java基础知识详解:值传递
    [LeetCode] 583. Delete Operation for Two Strings
    [LeetCode] 856. Score of Parentheses
    [LeetCode] 1129. Shortest Path with Alternating Colors
    [LeetCode] 1561. Maximum Number of Coins You Can Get
    [LeetCode] 1052. Grumpy Bookstore Owner
    [LeetCode] 991. Broken Calculator
    [LeetCode] 1054. Distant Barcodes
    [LeetCode] 1245. Tree Diameter
  • 原文地址:https://www.cnblogs.com/code-style/p/4032348.html
Copyright © 2020-2023  润新知