diff options
author | Nicholas Tay <nick@windblume.net> | 2022-03-21 19:36:43 +1100 |
---|---|---|
committer | Nicholas Tay <nick@windblume.net> | 2022-03-21 19:36:43 +1100 |
commit | d776ba9c6ec94d6622e1f759c112fd2334b7fb8b (patch) | |
tree | f9ebfceaeb403a2a08cb0471efebe085be45745f /foray/ForayLoadingOverlay.swift | |
parent | 54600245b35b2591b5ca19e39c80b8d9d0ae5f9e (diff) | |
download | forayios-d776ba9c6ec94d6622e1f759c112fd2334b7fb8b.tar.gz forayios-d776ba9c6ec94d6622e1f759c112fd2334b7fb8b.tar.bz2 forayios-d776ba9c6ec94d6622e1f759c112fd2334b7fb8b.zip |
Loading overlay to custom class + add to coordinator
Just an idea I had, since it was quite messy that a TableViewController
was handling all that. Instead now it should be reusable through the
ForayCoordinator itself, which means e.g. on details screen, we can show
the loading overlay.
Diffstat (limited to '')
-rw-r--r-- | foray/ForayLoadingOverlay.swift | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/foray/ForayLoadingOverlay.swift b/foray/ForayLoadingOverlay.swift new file mode 100644 index 0000000..1aa6260 --- /dev/null +++ b/foray/ForayLoadingOverlay.swift @@ -0,0 +1,37 @@ +// +// ForayLoadingOverlay.swift +// foray +// +// Created by Nicholas Tay on 21/3/2022. +// + +import UIKit + +class ForayLoadingOverlay { + + var viewController: UIViewController + + let loadingIndicator: UIActivityIndicatorView = { + let aiv = UIActivityIndicatorView(frame: CGRect(x: 10, y: 5, width: 50, height: 50)) + aiv.hidesWhenStopped = true + aiv.style = UIActivityIndicatorView.Style.medium + aiv.startAnimating() + return aiv + }() + + let alert: UIAlertController = UIAlertController(title: nil, message: "Grabbing data...", preferredStyle: .alert) + + init(viewController: UIViewController) { + self.viewController = viewController + alert.view.addSubview(self.loadingIndicator) + } + + func show() { + viewController.present(alert, animated: true) + } + + func hide() { + viewController.dismiss(animated: false) + } + +} |