swift中swiftNotice的pleaseWait()方法

在这里插入图片描述

调用方法:

   var isTrue:Bool = false
   override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
     
        isTrue = !isTrue
        if isTrue {
            SwiftNoticeDemo.wait()
        }else{
            SwiftNoticeDemo.clearAll()
        }
    }

SwiftNoticeDemo.swift

import Foundation
import UIKit

class SwiftNoticeDemo:NSObject {
    
   static var windows = [UIWindow]()
  
    
    @discardableResult
    static func wait() -> UIWindow? {
        let frame = CGRect(x: 0, y: 0, width: 80, height: 80)
       
        let subView = UIApplication.shared.keyWindow?.subviews.first
        
        let window = UIWindow()
        window.backgroundColor = UIColor.purple
        let mainView = UIView()
         mainView.layer.cornerRadius = 12
//        mainView.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.8)
        mainView.backgroundColor = UIColor.red
        let activityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: .white)
        activityIndicatorView.frame = CGRect(x: 20, y: 20, width: 40, height: 40)
        activityIndicatorView.startAnimating()
        mainView.addSubview(activityIndicatorView)
        
        
        window.frame = frame
        mainView.frame = frame
        window.center = subView!.center
        
        
        window.windowLevel = UIWindowLevelAlert
        window.isHidden = false
        window.addSubview(mainView)
        SwiftNoticeDemo.windows.append(window)
        
        mainView.alpha = 0.0
        UIView.animate(withDuration: 0.5) {
            mainView.alpha = 1
        }
        return window
    }
    
    static func clearAll(){
        SwiftNoticeDemo.windows.removeAll()
    }
   }
发布了337 篇原创文章 · 获赞 25 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/u012581760/article/details/91039682
今日推荐