From e4160c7add6874edf90ca3e82d31f940a28c503a Mon Sep 17 00:00:00 2001 From: Zach Date: Sat, 25 Feb 2017 15:33:16 -0500 Subject: [PATCH 1/2] Added a method to show a blocking overlay with direct access to the progress view --- SwiftOverlays/SwiftOverlays.swift | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/SwiftOverlays/SwiftOverlays.swift b/SwiftOverlays/SwiftOverlays.swift index d769a73..dd0c74d 100644 --- a/SwiftOverlays/SwiftOverlays.swift +++ b/SwiftOverlays/SwiftOverlays.swift @@ -245,6 +245,22 @@ open class SwiftOverlays: NSObject { return blocker } + + /** + Shows *blocking* overlay *with progress view and text*,, centered in the app's main window + + - parameter text: Text to be shown on overlay + + - returns: Created overlay + */ + open class func showBlockingProgressOverlay(_ text: String) -> UIProgressView { + let blocker = addMainWindowBlocker() + let pv = UIProgressView(progressViewStyle: .default) + + showGenericOverlay(blocker, text: text, accessoryView: pv) + + return pv + } /** Removes all *blocking* overlays from application's main window From 7ad925b4a65e3e041655ea9f637f9a4280720723 Mon Sep 17 00:00:00 2001 From: Zach Date: Sat, 25 Feb 2017 22:16:01 -0500 Subject: [PATCH 2/2] Updated the centering logic for not horizontal --- SwiftOverlays/SwiftOverlays.swift | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SwiftOverlays/SwiftOverlays.swift b/SwiftOverlays/SwiftOverlays.swift index dd0c74d..eb530be 100644 --- a/SwiftOverlays/SwiftOverlays.swift +++ b/SwiftOverlays/SwiftOverlays.swift @@ -329,11 +329,12 @@ open class SwiftOverlays: NSObject { accessoryView.frame = accessoryView.frame.offsetBy(dx: padding, dy: (actualSize.height - accessoryView.frame.size.height)/2) } else { actualSize = CGSize(width: max(accessoryView.frame.size.width, label.frame.size.width) + padding * 2, - height: label.frame.size.height + accessoryView.frame.size.height + padding * 3) - - label.frame = label.frame.offsetBy(dx: padding, dy: accessoryView.frame.size.height + padding * 2) + height: label.frame.size.height + accessoryView.frame.size.height + padding * 2) accessoryView.frame = accessoryView.frame.offsetBy(dx: (actualSize.width - accessoryView.frame.size.width)/2, dy: padding) + + label.center.x = accessoryView.center.x + label.center.y = accessoryView.center.y + (accessoryView.frame.height * 2) + padding } // Container view