SwiftOverlays
  • October 29, 2023

SwiftOverlays is a Swift GUI library for displaying various popups and notifications.

SwiftOverlays animated logo is kindly made by Crafted Pixels

Features


SwiftOverlays provides several ways to notify user:

  •  Wait overlay: a simple overlay with activity indicator

  •  Overlay with text only
  •  Overlay with image and text (can be used with PPSwiftGifs to show custom animated GIF instead of UIActivityIndicatorView)
  •  All of the above with blocking any user interaction
  •  Notification on top of the status bar, similar to native iOS local/push notifications

Installation


Manual

Just clone and add SwiftOverlays.swift to your project.

Carthage

  • > Cartfile
  • nano Cartfile
  • put github "peterprokop/SwiftOverlays" ~> 5.0.1 into Cartfile
  • Save it: ctrl-xyenter
  • Run carthage update
  • Copy SwiftOverlays.framework from Carthage/Build/iOS to your project
  • Make sure that SwiftOverlays is added in Embedded Binaries section of your target (or else you will get dyld library not loaded referenced from ... reason image not found error)
  • Add import SwiftOverlays on top of your view controller’s code

CocoaPods

  • Make sure that you use latest stable Cocoapods version: pod --version
  • If not, update it: sudo gem install cocoapods
  • pod init in you project root dir
  • nano Podfile, add:

pod ‘SwiftOverlays’, ‘~> 5.0.1’
use_frameworks!

  • Save it: ctrl-xyenter
  • pod update
  • Open generated .xcworkspace
  • Don’t forget to import SwiftOverlays: import SwiftOverlays!

Requirements


  • iOS 10.0+
  • Xcode 10.0+
  • Swift 4.2 (if you need older swift version, see swift-3.0 and others)

Usage


If you’re using CocoaPods, import the library with import SwiftOverlays

You can use UIViewController convenience methods provided by library:

// In your view controller:

// Wait overlay
self.showWaitOverlay()

// Wait overlay with text
let text = “Please wait…”
self.showWaitOverlayWithText(text)

// Overlay with text only
let text = “This is a text-only overlay…\n…spanning several lines”
self.showTextOverlay(text)

// Remove everything
self.removeAllOverlays()

// Notification on top of the status bar
UIViewController.showOnTopOfStatusBar(annoyingNotificationView!, duration: 5)

// Block user interaction
SwiftOverlays.showBlockingWaitOverlayWithText(“This is blocking overlay!”)

// Don’t forget to unblock!
SwiftOverlays.removeAllBlockingOverlays()

Using with UITableViewController/UICollectionViewController


You can’t use SwiftOverlays convenience methods directly with UITableViewController – because its view is, well, an UITableView, and overlay will be scrolled along with it.

Instead I suggest using UIViewController instead of UITableViewController and adding UITableView as a subview. (the same applies to UICollectionViewController)

If for some reason you can’t use UIViewController, you can do something like:

if let superview = self.view.superview {
SwiftOverlays.showCenteredWaitOverlayWithText(superview, text: “Please wait…”)
SwiftOverlays.removeAllOverlaysFromView(superview)
}

(but in that case overlay will be added to the superview, and you should obviously do that only if superview is available – for example in viewDidAppear method of your controller.).

GitHub


View Github

#carthage #cocoapods #ios #iosui #notification #swift #swift4 #swiftguilibrary #swiftoverlays
YOU MIGHT ALSO LIKE...
exyte

     

camerakit-ios

CameraKit helps you add reliable camera to your app quickly. Our open source camera platform provides consistent capture results, service ...

HybridCamera

[video width="192" height="416" mp4="https://swiftgit.com/wp-content/uploads/2024/12/68747470733a2f2f7261776769742e636f6d2f7374796c656b69742f696d672f6d61737465722f7669645f6564697465645f325f326d622e676966.mp4"][/video]

TakeASelfie

An iOS framework that uses the front camera, detects your face and takes a selfie. This api opens the front ...

iOS-Depth-Sampler

Code examples of Depth APIs in iOS