Skip to content

Instantly share code, notes, and snippets.

@igordeoliveirasa
Created March 26, 2015 01:41
Show Gist options
  • Save igordeoliveirasa/78a310f0348fcad9b270 to your computer and use it in GitHub Desktop.
Save igordeoliveirasa/78a310f0348fcad9b270 to your computer and use it in GitHub Desktop.
iOS Loading Overlay View - SWIFT
//
// LoadingOverlay.swift
// app
//
// Created by Igor de Oliveira Sa on 25/03/15.
// Copyright (c) 2015 Igor de Oliveira Sa. All rights reserved.
//
// Usage:
//
// # Show Overlay
// LoadingOverlay.shared.showOverlay(self.navigationController?.view)
//
// # Hide Overlay
// LoadingOverlay.shared.hideOverlayView()
import UIKit
import Foundation
public class LoadingOverlay{
var overlayView = UIView()
var activityIndicator = UIActivityIndicatorView()
class var shared: LoadingOverlay {
struct Static {
static let instance: LoadingOverlay = LoadingOverlay()
}
return Static.instance
}
public func showOverlay(view: UIView!) {
overlayView = UIView(frame: UIScreen.mainScreen().bounds)
overlayView.backgroundColor = UIColor(red: 0, green: 0, blue: 0, alpha: 0.5)
activityIndicator = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.WhiteLarge)
activityIndicator.center = overlayView.center
overlayView.addSubview(activityIndicator)
activityIndicator.startAnimating()
view.addSubview(overlayView)
}
public func hideOverlayView() {
activityIndicator.stopAnimating()
overlayView.removeFromSuperview()
}
}
@heijmerikx
Copy link

heijmerikx commented Jan 28, 2017

Thanks a lot 👍

@anoop4real
Copy link

What about user interactions?

@dushmis
Copy link

dushmis commented Jan 2, 2018

This won't work for view gestures

@egorovmikhail
Copy link

if there is UIKit, then Foundation is unnecessary to import

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment