ALRT alternatives and similar libraries
Based on the "Alert" category.
Alternatively, view ALRT alternatives based on common mentions on social networks and blogs.
-
Alerts Pickers
Advanced usage of UIAlertController and pickers based on it: Telegram, Contacts, Location, PhotoLibrary, Country, Phone Code, Currency, Date... -
SwiftEntryKit
SwiftEntryKit is a presentation library for iOS. It can be used to easily display overlays within your iOS apps. -
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 -
PMAlertController
PMAlertController is a great and customizable alert that can substitute UIAlertController -
Jelly
π - Jelly is a library for animated, non-interactive & interactive viewcontroller transitions and presentations with the focus on a simple and yet flexible API. -
MijickPopupView
Popups, popovers, sheets, alerts, toasts, banners, (...) presentation made simple. Written with and for SwiftUI. -
CDAlertView
Highly customizable alertview and alert/notification/success/error/alarm popup written in Swift -
SPAlert
DISCONTINUED. 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. -
SPIndicator
Floating indicator, mimicrate to indicator which appear when silent mode switched. Can be present from top and bottom. Interactive with gesters. -
Indicate
Interactive notification pop-over (aka "Toast) modeled after the iOS AirPods and Apple Pencil indicator.
InfluxDB high-performance time series database

* 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 ALRT or a related project?
README
ALRT
An easier constructor for UIAlertController. Present an alert from anywhere like this.
ALRT.create(.alert, title: "Alert?").addOK().addCancel().show()
Table of Contents
Features
- Chainable UIAlertController Setup Methods
- Support
.alert
and.actionSheet
UIAlertController.Style - Support
UITextfield
UIAlertAction(.alert
only) - Returns
Result
whether an alert is successfully displayed. In other words, Unit Testable.
Requirements
- Xcode 10.2+
- Swift 5.0
- iOS 9.0+
Installation
Carthage
github "mshrwtnb/ALRT" ~> 1.3.7
Cocoapods
pod repo update
pod 'ALRT', '~> 1.3.7'
Usage
Basics
.alert
import ALRT
// Instantiate an .alert-type UIAlertController with OK and Cancel actions. Finally, present the alert by calling `show()`.
ALRT.create(.alert, title: "Title", message: "Message").addOK().addCancel().show()
.actionSheet
// Instantiate an .actionSheet-type UIAlertController.
ALRT.create(.actionSheet, message: "Action Sheet")
.addAction("Option A")
.addAction("Option B")
.addDestructive("Destructive Option")
.show()
Action Types
Each action comes with different UIAlertAction.Style
.
ALRT.create(.alert, title: "Action Types?")
.addAction("π") // .default if not specified
.addOK() // .default
.addCancel("β") // .cancel
.addDestructive("π£") // .destructive
.show()
Custom Title
OK and Cancel actions have default titles in English; "OK" and "Cancel". Here, we're overriding the titles in Japanese.
ALRT.create(.alert, title: "Actions In Japanese?").addOK("γͺγΌγ±γΌ").addCancel("γγ£γ³γ»γ«").show()
Action Handling
Each action has handler
that is called when user taps the action.
The closure takes two parameters: UIAlertAction
and [UITextField]?
.
The former is self-explanatory.
The latter is present if text field(s) is/are added to the alert.
ALRT.create(.alert, title: "Action Handling")
.addOK() { action, textFields in
print("\(action.title!) tapped")
}
.show()
Result Handling
show()
has a completion handler that takes Result
.
You can ensure if the alert was shown successfully or not. This is useful for unit tests.
ALRT.create(.alert, title: "Result Handling")
.addOK()
.show() { result in
switch result {
case .success:
print("Alert is successfully shown")
case .failure(let error):
print("Error occurred. \(error.localizedDescription)")
}
}
TextField(s)
Textfield(s) can be added to an alert in an use-case such as login.
enum TextFieldIdentifier: Int {
case username
case password
}
ALRT.create(.alert, title: "Enter your credentials")
// Configure textfield
.addTextField { textfield in
textfield.placeholder = "Username"
textfield.tag = TextFieldIdentifier.username.rawValue
}
.addTextField() { textField in
textField.placeholder = "Password"
textField.isSecureTextEntry = true
textField.tag = TextFieldIdentifier.password.rawValue
}
// If an user selects "Login", textfields above are retrieved in the trailing closure. Distinguish one from another with a tag or identifier.
.addAction("Login") { _, textfields in
for textField in textfields ?? [] {
if let identifier = TextFieldIdentifier(rawValue: textField.tag) {
switch identifier {
case .username:
// Extract username
case .password:
// Extract password
}
}
}
}
.addCancel()
.show()
Changing source ViewController to present from
Although ALRT can present an alert anywhere, you might want to specify a source view controller for some reason. This can be done easily by passing a view controller to show()
.
ALRT.create(.alert, title: "Source?")
.addOK()
.show(self) // self = source view controller
Default Configuration
Set default tintColor and titles for OK and Cancel buttons.
ALRT.defaultConfiguration = .init(
tintColor: UIColor.blue,
okTitle: "OKπ",
cancelTitle: "Cancelπ"
)
License
ALRT is released under the MIT license. See LICENSE for details.
*Note that all licence references and agreements mentioned in the ALRT README section above
are relevant to that project's source code only.