PMAlertController alternatives and similar libraries
Based on the "Alert" category.
Alternatively, view PMAlertController alternatives based on common mentions on social networks and blogs.
-
SwiftMessages
A very flexible message bar for iOS written in Swift. -
SwiftEntryKit
SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps. -
Alerts Pickers
Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date... -
SCLAlertView
Beautiful animated Alert View. Written in Swift -
NotificationBanner
The easiest way to display highly customizable in app notification banners in iOS -
PopupDialog
A simple, customizable popup dialog for iOS written in Swift. Replaces UIAlertController alert style. -
Whisper
:mega: Whisper is a component that will make the task of display messages and in-app notifications simple. It has three different views inside -
XLActionController
Fully customizable and extensible action sheet controller written in Swift -
SweetAlert
Live animated Alert View for iOS written in Swift -
Jelly
๐ - Jelly is a library for animated, non-interactive & interactive viewcontroller transitions and presentations with the focus on a simple and yet flexible API. -
CDAlertView
Highly customizable alertview and alert/notification/success/error/alarm popup written in Swift -
Queuer
Queuer is a queue manager, built on top of OperationQueue and Dispatch (aka GCD). -
SPAlert
Native alert from Apple Music & Feedback. Contains Done, Heart & Message and other presets. [Moved to: https://github.com/varabeis/SPAlert] -
StatusAlert
Display Apple system-like self-hiding status alerts. It is well suited for notifying user without interrupting user flow in iOS-like way. -
GSMessage
A simple style messages/notifications, in Swift. -
SwiftOverlays
SwiftOverlays is a Swift GUI library for displaying various popups and notifications -
SPIndicator
Floating indicator, mimicrate to indicator which appear when silent mode switched. Can be present from top and bottom. Interactive with gesters. -
GoogleWearAlert
An Android Wear style confirmation view for iOS -
Toast-Swift
A Swift Toast view - iOS 14 style and newer - built with UIKit. ๐ -
Sheet
๐ Actionsheet with navigation features such as the Flipboard App -
AwaitToast
๐ An async waiting toast with basic toast. Inspired by facebook posting toast -
FCAlertView
FCAlertView is a Flat Customizable AlertView for iOS (Swift) -
Zingle
Zingle โ An alert will display underneath your UINavigationBar ๐ -
Indicate
Interactive notification pop-over (aka "Toast) modeled after the iOS AirPods and Apple Pencil indicator. -
MaterialActionSheetController
A Google like action sheet for iOS written in Swift. -
ALRT
An easier constructor for UIAlertController. Present an alert from anywhere. -
Notie
In-app notification in Swift, with customizable buttons and input text field. -
HYAlertController
A Simple And Minimalist iOS AlertController -
KRAlertController
A beautiful alert controller for your iOS. -
GSAlert
[deprecated] UIAlertController support iOS 7+ and written in swift. -
SwiftAlertController
Nice and easy UIAlertController extensions
Appwrite - The open-source backend cloud platform
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of PMAlertController or a related project?
README
PMAlertController is a small library that allows you to substitute Apple's uncustomizable UIAlertController
, with a beautiful and totally customizable alert that you can use in your iOS app. Enjoy!
Features
- [x] Header View
- [x] Header Image (Optional)
- [x] Title
- [x] Description message
- [x] Customizations: fonts, colors, dimensions & more
- [x] 1, 2 buttons (horizontally) or 3+ buttons (vertically)
- [x] Closure when a button is pressed
- [x] Text Fields support
- [x] Similar implementation to UIAlertController
- [x] Cocoapods
- [x] Carthage
- [x] Animation with UIKit Dynamics
- [x] Objective-C compatibility
- [x] Swift 4, Swift 4.2 & Swift 5 support
- [ ] Swift Package Manager
Requirements
- iOS 9.0+
- Xcode 10+
CocoaPods
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
$ gem install cocoapods
To integrate PMAlertController into your Xcode project using CocoaPods, specify it in your Podfile
:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
pod 'PMAlertController'
Then, run the following command:
$ pod install
Carthage
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate PMAlertController into your Xcode project using Carthage, specify it in your Cartfile
:
github "pmusolino/PMAlertController"
Run carthage update
to build the framework and drag the built PMAlertController.framework
into your Xcode project.
Manually
- Download and drop
/Library
folder in your project. - Congratulations!
Usage
The usage is very similar to UIAlertController
.
PMAlertController
has two styles: Alert & Walkthrough.
Alert Style: with this style, the alert has the width of 270 points, like Apple's UIAlertController
.
Walkthrough Style: with walkthrough, the alert has the width of the screen minus 18 points from the left and the right bounds. This mode is intended to be used before authorization requests like the ones for location, push notifications and more.
Show a simple alert with two buttons and one textfield
//This code works with Swift 5
let alertVC = PMAlertController(title: "A Title", description: "My Description", image: UIImage(named: "img.png"), style: .alert)
alertVC.addAction(PMAlertAction(title: "Cancel", style: .cancel, action: { () -> Void in
print("Capture action Cancel")
}))
alertVC.addAction(PMAlertAction(title: "OK", style: .default, action: { () in
print("Capture action OK")
}))
alertVC.addTextField { (textField) in
textField?.placeholder = "Location..."
}
self.present(alertVC, animated: true, completion: nil)
Swift compatibility
If you use Swift 5.0 or higher, you can use the latest release.
If you use Swift 4, you can use the release 3.5.0.
If you use Swift 3, you can use the release 2.1.3.
If you use Swift 2.3, you can use the release 1.1.0
If you use Swift 2.2, you can use the release 1.0.5
Third Party Bindings
React Native
You may now use this library with React Native via the module here
Contributing
- If you need help or you'd like to ask a general question, open an issue.
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
Acknowledgements
Made with โค๏ธ by Paolo Musolino.
Follow me on:
๐ผ Linkedin
๐ค Twitter
๐ Instagram
๐จ๐ผโ๐ค Facebook
MIT License
PMAlertController is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the PMAlertController README section above
are relevant to that project's source code only.