Blame view
Pods/SwiftOverlays/README.md
4.15 KB
d774f0637
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
[](https://travis-ci.org/peterprokop/SwiftOverlays) [](https://github.com/Carthage/Carthage) # SwiftOverlays SwiftOverlays is a Swift GUI library for displaying various popups and notifications. ## Features SwiftOverlays provides several ways to notify user: - [x] Wait overlay: a simple overlay with activity indicator  - [x] Wait overlay with text  - [x] Overlay with text only - [x] Overlay with image and text (can be used with [PPSwiftGifs](https://github.com/peterprokop/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  ## Installation ### Manual Just clone and add ```SwiftOverlays.swift``` to your project. ### Carthage * `> Cartfile` * `nano Cartfile` * put `github "peterprokop/SwiftOverlays" ~> 2.0.0` 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', '~> 2.0.0' use_frameworks! ``` - Save it: `ctrl-x`, `y`, `enter` - `pod update` - Open generated `.xcworkspace` - Don't forget to import SwiftOverlays: `import SwiftOverlays`! ## Requirements - iOS 7.0+ (8.0+ if you use Cocoapods) - Xcode 8.0+ - Swift 3.0 (if you need older swift version, see following branches: [swift-1.1](https://github.com/peterprokop/SwiftOverlays/tree/swift-1.1), [swift-1.2](https://github.com/peterprokop/SwiftOverlays/tree/swift-1.2), [swift-2.1](https://github.com/peterprokop/SwiftOverlays/tree/swift-2.1) and others) ## Usage If you're using CocoaPods, import the library with `import SwiftOverlays` You can use UIViewController convenience methods provided by library: ```swift // 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... ...spanning several lines" self.showTextOverlay(text) // Remove everything self.removeAllOverlays() // Notification on top of the status bar UIViewController.showNotificationOnTopOfStatusBar(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: ```swift 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](https://github.com/peterprokop/StarryStars) - iOS GUI library for displaying and editing ratings. |