[Swift] Loading Dialogue
import UIKit
open class Spinner {
internal static var spinner: UIActivityIndicatorView?
public static var style: UIActivityIndicatorView.Style = .whiteLarge
public static var baseBackColor = UIColor.black.withAlphaComponent(0.5)
public static var baseColor = UIColor.white
public static func start(style: UIActivityIndicatorView.Style = style, backColor: UIColor = baseBackColor, baseColor: UIColor = baseColor) {
NotificationCenter.default.addObserver(self, selector: #selector(update), name: UIDevice.orientationDidChangeNotification, object: nil)
if spinner == nil, let window = UIApplication.shared.keyWindow {
let frame = UIScreen.main.bounds
spinner = UIActivityIndicatorView(frame: frame)
spinner!.backgroundColor = backColor
spinner!.style = style
spinner?.color = baseColor
window.addSubview(spinner!)
spinner!.startAnimating()
}
}
public static func stop() {
if spinner != nil {
spinner!.stopAnimating()
spinner!.removeFromSuperview()
spinner = nil
}
}
@objc public static func update() {
if spinner != nil {
stop()
start()
}
}
}
링크)
https://gist.github.com/michal-majchrzycki/9e41a6ab195e931b5e33336dbf433427