aboutsummaryrefslogtreecommitdiff
path: root/foray/ForayLoadingOverlay.swift
diff options
context:
space:
mode:
authorNicholas Tay <nick@windblume.net>2022-03-21 19:36:43 +1100
committerNicholas Tay <nick@windblume.net>2022-03-21 19:36:43 +1100
commitd776ba9c6ec94d6622e1f759c112fd2334b7fb8b (patch)
treef9ebfceaeb403a2a08cb0471efebe085be45745f /foray/ForayLoadingOverlay.swift
parent54600245b35b2591b5ca19e39c80b8d9d0ae5f9e (diff)
downloadforayios-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 'foray/ForayLoadingOverlay.swift')
-rw-r--r--foray/ForayLoadingOverlay.swift37
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)
+ }
+
+}