{"id":2423,"url":"https://github.com/peterprokop/SwiftOverlays","last_synced_at":"2025-08-06T16:31:01.318Z","repository":{"id":21970492,"uuid":"25295273","full_name":"peterprokop/SwiftOverlays","owner":"peterprokop","description":"SwiftOverlays is a Swift GUI library for displaying various popups and notifications","archived":false,"fork":false,"pushed_at":"2018-09-19T13:58:29.000Z","size":160,"stargazers_count":631,"open_issues_count":15,"forks_count":80,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-10-30T04:47:13.219Z","etag":null,"topics":["carthage","cocoapods","ios","ios-ui","notifications","swift","swift-gui-library","swift4","swiftoverlays"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterprokop.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-16T09:28:44.000Z","updated_at":"2024-08-21T08:21:13.000Z","dependencies_parsed_at":"2022-08-18T03:05:13.054Z","dependency_job_id":null,"html_url":"https://github.com/peterprokop/SwiftOverlays","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FSwiftOverlays","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FSwiftOverlays/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FSwiftOverlays/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterprokop%2FSwiftOverlays/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterprokop","download_url":"https://codeload.github.com/peterprokop/SwiftOverlays/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228923687,"owners_count":17992566,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["carthage","cocoapods","ios","ios-ui","notifications","swift","swift-gui-library","swift4","swiftoverlays"],"created_at":"2024-01-05T20:16:13.410Z","updated_at":"2024-12-09T16:31:00.242Z","avatar_url":"https://github.com/peterprokop.png","language":"Swift","funding_links":[],"categories":["UI","Libs","Notification","UI and SwiftUI","UI [🔝](#readme)"],"sub_categories":["Alert \u0026 Action Sheet","UI","Other free courses"],"readme":"![Imgur](http://i.imgur.com/AFMWOiJ.gif)\n\nSwiftOverlays is a Swift GUI library for displaying various popups and notifications.\n\nSwiftOverlays animated logo is kindly made by [Crafted Pixels](http://bit.ly/craftedpx)\n\n[![Build Status](https://travis-ci.org/peterprokop/SwiftOverlays.svg?branch=master)](https://travis-ci.org/peterprokop/SwiftOverlays)\n[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)\n\n## Features\n\nSwiftOverlays provides several ways to notify user:\n\n- [x] Wait overlay: a simple overlay with activity indicator\n\n![Wait](https://i.imgflip.com/df53v.gif)\n\n- [x] Wait overlay with text \n\n![WaitWithText](https://i.imgflip.com/df525.gif)\n\n- [x] Overlay with text only\n- [x] Overlay with image and text (can be used with [PPSwiftGifs](https://github.com/peterprokop/PPSwiftGifs) to show custom animated GIF instead of UIActivityIndicatorView)\n- [x] All of the above with blocking any user interaction\n- [x] Notification on top of the status bar, similar to native iOS local/push notifications\n\n![Notification](https://i.imgflip.com/df5k5.gif)\n\n## Installation\n\n### Manual\nJust clone and add ```SwiftOverlays.swift``` to your project.\n\n### Carthage\n* `\u003e Cartfile`\n* `nano Cartfile`\n* put `github \"peterprokop/SwiftOverlays\" ~\u003e 5.0.1` into Cartfile\n* Save it: `ctrl-x`, `y`, `enter`\n* Run `carthage update`\n* Copy `SwiftOverlays.framework` from `Carthage/Build/iOS` to your project\n* 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)\n* Add `import SwiftOverlays` on top of your view controller's code\n\n### Cocoapods\n- Make sure that you use latest stable Cocoapods version: `pod --version`\n- If not, update it: `sudo gem install cocoapods`\n- `pod init` in you project root dir\n- `nano Podfile`, add:\n\n```\npod 'SwiftOverlays', '~\u003e 5.0.1'\nuse_frameworks! \n``` \n- Save it: `ctrl-x`, `y`, `enter`\n- `pod update`\n- Open generated `.xcworkspace`\n- Don't forget to import SwiftOverlays: `import SwiftOverlays`!\n\n## Requirements\n\n- iOS 10.0+\n- Xcode 10.0+\n- Swift 4.2 (if you need older swift version, see\n[swift-3.0](https://github.com/peterprokop/SwiftOverlays/tree/swift-3.0) and others)\n\n## Usage\n\nIf you're using CocoaPods, import the library with `import SwiftOverlays`\n\nYou can use UIViewController convenience methods provided by library:\n\n```swift\n// In your view controller:\n\n// Wait overlay\nself.showWaitOverlay()\n\n// Wait overlay with text\nlet text = \"Please wait...\"\nself.showWaitOverlayWithText(text)\n\n// Overlay with text only\nlet text = \"This is a text-only overlay...\\n...spanning several lines\"\nself.showTextOverlay(text)\n\n// Remove everything\nself.removeAllOverlays()\n\n// Notification on top of the status bar\nUIViewController.showOnTopOfStatusBar(annoyingNotificationView!, duration: 5)\n\n// Block user interaction\nSwiftOverlays.showBlockingWaitOverlayWithText(\"This is blocking overlay!\")\n\n// Don't forget to unblock!\nSwiftOverlays.removeAllBlockingOverlays()\n\n```\n\n### Using with UITableViewController/UICollectionViewController\n\nYou can't use SwiftOverlays convenience methods directly with UITableViewController - because its view is, well, an UITableView, and overlay will be scrolled along with it.\n\nInstead I suggest using UIViewController instead of UITableViewController and adding UITableView as a subview.\n(the same applies to UICollectionViewController)\n\nIf for some reason you can't use UIViewController, you can do something like:\n```swift\nif let superview = self.view.superview {\n  SwiftOverlays.showCenteredWaitOverlayWithText(superview, text: \"Please wait...\")\n  SwiftOverlays.removeAllOverlaysFromView(superview)\n}\n```\n\n(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.).\n\n## Contribution\n\nYou are welcome to fork and submit pull requests\n\n## Other Projects\n\n- [StarryStars](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings.\n- [AlertyAlert](https://github.com/peterprokop/AlertyAlert) - AlertyAlert is a nice and fluffy iOS alert library for all your alerty needs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterprokop%2FSwiftOverlays","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterprokop%2FSwiftOverlays","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterprokop%2FSwiftOverlays/lists"}