All Projects → peterprokop → Swiftoverlays

peterprokop / Swiftoverlays

Licence: mit
SwiftOverlays is a Swift GUI library for displaying various popups and notifications

Programming Languages

swift
15916 projects
swift4
162 projects

Projects that are alternatives of or similar to Swiftoverlays

Xlactioncontroller
Fully customizable and extensible action sheet controller written in Swift
Stars: ✭ 3,228 (+419.81%)
Mutual labels:  cocoapods, carthage, ios-ui
Cascadingtabledelegate
A no-nonsense way to write cleaner UITableViewDelegate and UITableViewDataSource in Swift.
Stars: ✭ 931 (+49.92%)
Mutual labels:  cocoapods, carthage, ios-ui
Xlpagertabstrip
Android PagerTabStrip for iOS.
Stars: ✭ 6,671 (+974.24%)
Mutual labels:  cocoapods, carthage, ios-ui
Nvactivityindicatorview
A collection of awesome loading animations
Stars: ✭ 10,031 (+1515.3%)
Mutual labels:  cocoapods, carthage, ios-ui
Eureka
Elegant iOS form builder in Swift
Stars: ✭ 11,345 (+1726.89%)
Mutual labels:  cocoapods, carthage, ios-ui
Poliopager
A flexible TabBarController with search tab like SNKRS.
Stars: ✭ 133 (-78.58%)
Mutual labels:  cocoapods, carthage, ios-ui
Tbactionsheet
A Custom&Powerful Action Sheet For iOS. 一个 ActionSheet 满足所有样式!超高自由度的可定制!
Stars: ✭ 942 (+51.69%)
Mutual labels:  cocoapods, carthage, ios-ui
Swiftpagemenu
Customizable Page Tab Menu Controller 👍
Stars: ✭ 233 (-62.48%)
Mutual labels:  cocoapods, carthage, ios-ui
Ioniconskit
Use Ionicons in your Swift projects.
Stars: ✭ 310 (-50.08%)
Mutual labels:  cocoapods, carthage, ios-ui
Keyboardshortcuts
Add user-customizable global keyboard shortcuts to your macOS app in minutes
Stars: ✭ 500 (-19.48%)
Mutual labels:  cocoapods, carthage
Openssl
OpenSSL package for SPM, CocoaPod, and Carthage, for iOS and macOS
Stars: ✭ 515 (-17.07%)
Mutual labels:  cocoapods, carthage
Sidemenu
Simple side/slide menu control for iOS, no code necessary! Lots of customization. Add it to your project in 5 minutes or less.
Stars: ✭ 5,267 (+748.15%)
Mutual labels:  cocoapods, carthage
Watchdoginspector
Shows your current framerate (fps) in the status bar of your iOS app
Stars: ✭ 497 (-19.97%)
Mutual labels:  cocoapods, carthage
Youtubekit
YoutubeKit is a video player that fully supports Youtube IFrame API and YoutubeDataAPI for easily create a Youtube app
Stars: ✭ 484 (-22.06%)
Mutual labels:  cocoapods, carthage
Orsserialport
Serial port library for Objective-C and Swift macOS apps
Stars: ✭ 609 (-1.93%)
Mutual labels:  cocoapods, carthage
Googlereporter
Easily integrate with Google Analytics in your iOS app
Stars: ✭ 479 (-22.87%)
Mutual labels:  cocoapods, carthage
Swiftinstagram
Instagram API client written in Swift
Stars: ✭ 570 (-8.21%)
Mutual labels:  cocoapods, carthage
Badgehub
A way to quickly add a notification badge icon to any view. Make any view of a full-fledged animated notification center.
Stars: ✭ 592 (-4.67%)
Mutual labels:  notifications, cocoapods
Xmlcoder
Easy XML parsing using Codable protocols in Swift
Stars: ✭ 460 (-25.93%)
Mutual labels:  cocoapods, carthage
Anim
Swift animation library for iOS, tvOS and macOS.
Stars: ✭ 520 (-16.26%)
Mutual labels:  cocoapods, carthage

Imgur

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

SwiftOverlays animated logo is kindly made by Crafted Pixels

Build Status Carthage compatible

Features

SwiftOverlays provides several ways to notify user:

  • [x] Wait overlay: a simple overlay with activity indicator

Wait

  • [x] Wait overlay with text

WaitWithText

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

Notification

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-x, y, enter
  • 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-x, y, enter
  • 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.).

Contribution

You are welcome to fork and submit pull requests

Other Projects

  • StarryStars - iOS GUI library for displaying and editing ratings.
  • AlertyAlert - AlertyAlert is a nice and fluffy iOS alert library for all your alerty needs.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].