LIHAlert alternatives and similar libraries
Based on the "Alerts" category.
Alternatively, view LIHAlert alternatives based on common mentions on social networks and blogs.
-
SwiftMessages
A very flexible message bar for iOS written in Swift. -
SCLAlertView-Swift
Beautiful animated Alert View. Written in Swift -
TSMessages
💌 Easy to use and customizable messages/notifications for iOS à la Tweetbot -
NotificationBanner
The easiest way to display highly customizable in app notification banners in iOS -
JDStatusBarNotification
Highly customizable & feature rich notifications displayed below the status bar. iOS 13+. Swift ready! -
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 -
Toast-Swift
A Swift extension that adds toast notifications to the UIView object class. -
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. -
RKDropdownAlert
iOS / Objective C: an extremely simple UIAlertView alternative -
RMDateSelectionViewController
This is an iOS control for selecting a date using UIDatePicker in an UIAlertController like manner -
CDAlertView
Highly customizable alertview and alert/notification/success/error/alarm popup written in Swift -
BRYXBanner
A lightweight dropdown notification for iOS 7+, in Swift. -
CFAlertViewController
It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets. -
SwiftNotice
GUI library for displaying various popups (HUD), written in pure Swift. -
FCAlertView
FCAlertView is a Flat Customizable AlertView for iOS (Written in Objective C) -
NZAlertView
Simple and intuitive alert view. Similar to push notification effect. -
SwiftyDrop
Lightweight dropdown message bar in Swift. It's simple and beautiful. -
Swift-Prompts
A Swift library to design custom prompts with a great scope of options to choose from. -
NYAlertViewController
Highly configurable iOS Alert Views with custom content views -
SwiftOverlays
SwiftOverlays is a Swift GUI library for displaying various popups and notifications -
TTGSnackbar
TTGSnackbar shows simple message and action button on the bottom or top of the screen with multi kinds of animation, which is written in Swift3 and inspired by Snackbar in Android. It also support showing custom view, icon image or multi action button. -
RMActionController
This is an iOS control for presenting any UIView in an UIAlertController like manner -
DOAlertController
Simple Alert View written in Swift, which can be used as a UIAlertController. (AlertController/AlertView/ActionSheet) -
SimpleAlert
Customizable simple Alert and simple ActionSheet for Swift -
RMPickerViewController
This is an iOS control for selecting something using UIPickerView in an UIAlertController like manner -
HDNotificationView
Emulates the native Remote Notification View. -
NoticeBar
😍A simple NoticeBar written by Swift 3, similar with QQ notice view. -
LNRSimpleNotifications
Simple Swift in-app notifications -
CustomizableActionSheet
Action sheet allows including your custom views and buttons. -
LKAlertController
An easy to use UIAlertController builder for swift -
BPStatusBarAlert
BPStatusBarAlert is a library that allows you to easily make text-based alert that appear on the status bar and below navigation bar. -
MaterialActionSheetController
A Google like action sheet for iOS written in Swift. -
Notie
In-app notification in Swift, with customizable buttons and input text field. -
RAlertView
AlertView, Ios popup window, A pop-up framework, Can be simple and convenient to join your project. IOS 提示框,IOS弹框,IOS弹窗 -
SnowGlobeFramework
Snow globe framework is delightful / slightly cheese easter egg for christmas season. Turns your awesome app into a snow globe, when user shake the device. -
AlertViewLoveNotification
A simple and attractive AlertView to ask permission to your users for Push Notification.
Appwrite - The Open Source Firebase alternative introduces iOS support
* 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 LIHAlert or a related project?
README
LIHAlert
LIHAlert provides animated banners for iOS. Updated to Swift 3
Demo Project
The LIHAlert workspace contains a demo project, also used for developments.
Requirements
Xcode 7+
Installation
LIHAlert is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "LIHAlert"
or
Copy the LIHAlert folder into your project.
For the swift 2 version
pod 'LIHAlert', '~> 1.1.0'
Usage
Import the module using
import LIHAlert
To run the example project, clone the repo, and run pod install
from the Example directory first.
Templates
LIHAlert contains some predefined alert templates for each Alert type.
- Text Alert
- Success alert
- Error alert
- Text with a title
- Processing Alert (Text with an ActivityIndicator)
- Text with a button
- Text with two buttons
- Custom view banner (also used to embed view controllers)
You can use following code snippets to use them.
1. Text Banner
var textAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.textAlert = LIHAlertManager.getTextAlert("Sample Message")
self.textAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
self.textAlert?.show(nil, hidden: nil)
}
Call showBanner() function to show the banner
2. Success Alert
var successAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.successAlert = LIHAlertManager.getSuccessAlert(message: "Successfully subscribed")
self.successAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
self.successAlert?.show(nil, hidden: nil)
}
To change the icon,
successAlert?.icon = UIImage(named:"imageName")
3. Error Alert
var errorAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.errorAlert = LIHAlertManager.getErrorAlert(message: "Failed. Please try again")
self.errorAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
self.errorAlert?.show(nil, hidden: nil)
}
To change the icon,
successAlert?.icon = UIImage(named:"imageName")
4. Text with title
var textWithTitleAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.textWithTitleAlert = LIHAlertManager.getTextWithTitleAlert("This is The Title", message: "This is a sample message.")
self.textWithTitleAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
self.textWithTitleAlert?.show(nil, hidden: nil)
}
5. Loading Alert
This is a banner with a text and an activity indicator. This is not an auto close banner. You have to hide it when the process is finished.
var processingAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.processingAlert = LIHAlertManager.getProcessingAlert("Fetching data...")
self.processingAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
self.processingAlert?.show(nil, hidden: nil)
}
override hideBanner(sender: AnyObject) {
self.processingAlert?.hide(nil)
}
Call showBanner() function to show the banner and hideBanner() to hide the banner. To change the activity indicator style,
processingAlert?.activityIndicatorStyle = UIActivityIndicatorViewStyle.WhiteLarge
6. Text with a button Alert
This alert contains a button along with a text. More suitable for notifying important messages to user.
var textWithButtonAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.textWithButtonAlert = LIHAlertManager.getTextWithButtonAlert("You have successfully subscribed for the monthly newsletter", buttonText: "Dismiss")
self.textWithButtonAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
textWithButtonAlert?.show(nil, hidden: nil)
}
Call showBanner() function to show the banner. Implement LIHAlertDelegate for button click events.
class ViewController: LIHAlertDelegate {
func buttonPressed(button: UIButton) {
print(“You have pressed the button”)
self.textWithButtonAlert?.hideAlert(nil)
}
}
7. Text with two buttons Alert
This alert contains two buttons along with a text.
var textWithTwoButtonsAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
self.textWithTwoButtonsAlert = LIHAlertManager.getTextWithTwoButtonsAlert("Do you want to subscribe for the monthly newsletter?", buttonOneText: "Subscribe", buttonTwoText: "Cancel")
self.textWithTwoButtonsAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
textWithTwoButtonsAlert?.show(nil, hidden: nil)
}
Call showBanner() function to show the banner. Implement LIHAlertDelegate for button click events.
class ViewController: LIHAlertDelegate {
func buttonOnePressed(button: UIButton) {
self.textWithTwoButtonsAlert?.hideAlert({ () -> () in
self.successAlert?.show(nil, hidden: nil)
})
}
func buttonTwoPressed(button: UIButton) {
self.textWithTwoButtonsAlert?.hideAlert(nil)
}
}
8. Custom View Alert
You can specify any view to act as the banner.
var customViewAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
//In this case I am using an ImageView as the banner
let customView = UIImageView(frame: CGRectMake(0.0, 64.0, 100, 50))
customView.image = UIImage(named: "customViewImage")
self.customViewAlert = LIHAlertManager.getCustomViewAlert(customView)
self.customViewAlert?.initAlert(self.view)
}
func showBanner(sender: AnyObject) {
self.customViewAlert?.show(nil, hidden: nil)
}
How to embed a view controller
var customViewAlert: LIHAlert?
override func viewDidLoad() {
super.viewDidLoad()
let vc = (self.storyboard?.instantiateViewController(withIdentifier: "TableVc"))!
self.customViewAlert = LIHAlertManager.getCustomViewAlert(customView: vc.view)
self.customViewAlert?.initAlert(self.view)
self.addChildViewController(vc)
vc.didMove(toParentViewController: self)
}
func showBanner(sender: AnyObject) {
self.customViewAlert?.show(nil, hidden: nil)
}
See 'CustomAlertsViewController' for more embed view controller examples
How to create your own banner
let alertTextAlert: LIHAlert = LIHAlert()
alertTextAlert.alertType = LIHAlertType.Text
alertTextAlert.contentText = message
alertTextAlert.alertColor = UIColor(red: 102.0/255.0, green: 197.0/255.0, blue: 241.0/255.0, alpha: 1.0)
alertTextAlert.alertHeight = 50.0
alertTextAlert.alertAlpha = 1.0
alertTextAlert.autoCloseEnabled=true
alertTextAlert.contentTextColor = UIColor.whiteColor()
alertTextAlert.hasNavigationBar = true
alertTextAlert.paddingTop = 0.0
alertTextAlert.animationDuration = 0.35
alertTextAlert.autoCloseTimeInterval = 1.5
ALert Types
enum LIHAlertType {
case Custom, Text, TextWithLoading, TextWithIcon, TextWithButton, TextWithTwoButtons, TextWithTitle
}
List of all properties
//delegates
public var delegate: LIHAlertDelegate?
//Title
public var titleLabel: UILabel?
public var titleText: String //Default is "Sample Title"
public var titleTextColor: UIColor //Default is UIColor.blackColor()
public var titleTextFont: UIFont?
public var titleTextFontSize: CGFloat?
public var titleTextNumberOfLines: Int //Default is 1
//Content Text
public var contentLabel: UILabel?
public var contentText: String //Default is "Sample Content"
public var contentTextColor: UIColor //Default is UIColor.blackColor()
public var contentTextFont: UIFont?
public var contentTextNumberOfLines: Int //Default is 2
//TextWithLoading
public var activityIndicatorStyle: UIActivityIndicatorViewStyle //Default is UIActivityIndicatorViewStyle.White
//Icon
public var iconImageView: UIImageView?
public var icon: UIImage?
//OneButton
public var button_textWithButton: UIButton?
public var buttonText: String //Default is "Dismiss"
public var buttonColor: UIColor //Default is UIColor.blueColor()
public var buttonTextColor: UIColor //Default is UIColor.whiteColor()
public var buttonFont: UIFont?
public var buttonBordercolor: UIColor //Default is UIColor.whiteColor()
public var buttonBorderWidth: CGFloat //Default is 1.0
public var buttonCornerRadius: CGFloat //Default is 3.0
public var buttonWidth: CGFloat?
//TWO BUTTONS
//ButtonOne
public var buttonOne_textWithButton: UIButton?
public var buttonOneText: String //Default is "Dismiss"
public var buttonOneColor: UIColor //Default is UIColor.blueColor()
public var buttonOneTextColor: UIColor //Default is UIColor.whiteColor()
public var buttonOneFont: UIFont?
public var buttonOneBordercolor: UIColor //Default is UIColor.whiteColor()
public var buttonOneBorderWidth: CGFloat //Default is 1.0
public var buttonOneCornerRadius: CGFloat //Default is 3.0
//ButtonTwo
public var buttonTwo_textWithButton: UIButton?
public var buttonTwoText: String //Default is "Dismiss"
public var buttonTwoColor: UIColor //Default is UIColor.blueColor()
public var buttonTwoTextColor: UIColor //Default is UIColor.whiteColor()
public var buttonTwoFont: UIFont?
public var buttonTwoBordercolor: UIColor //Default is UIColor.whiteColor()
public var buttonTwoBorderWidth: CGFloat //Default is 1.0
public var buttonTwoCornerRadius: CGFloat //Default is 3.0
//AlertView
public var alertView: UIView?
public var alertColor: UIColor //Default is UIColor.grayColor()
public var alertAlpha: CGFloat //Default is 1.0
public var alertHeight:CGFloat //Default is 75.0
public var paddingLeft: CGFloat //Default is 0.0
public var paddingTop: CGFloat //Default is 0.0
public var animationDuration: NSTimeInterval //Default is 0.5
public var alertType: LIHAlertType //Default is LIHAlertType.Text
public var autoCloseEnabled: Bool //Default is true
public var autoCloseTimeInterval: Double //Default is 3.0
public var hasNavigationBar: Bool //Default is false
public var touchBackgroundToDismiss: Bool //default is false
public var dimsBackground: Bool //default is false
public var backgroundDimOpacity: CGFloat //default is 0.4
Use the completion callbacks
//when showing an auto hiding banner
lihAlert?.show({ () -> () in
//alert showed
}, hidden: { () -> () in
//alert hidden
})
//when hiding a banner
lihAlert?.hideAlert({ () -> () in
//Banner hidden
})
Known Issues
1. Top margin
In some projects the alert may appear with a margin on top. Hopefully this will be fixed in the next release. Until then use the following solution.
Solution
Even the navigation bar is there, set it to false.
alert.hasNavigationBar = false
ChangeLog
v2.1.1
Dim background, Touch background to dismiss
v2.0.4
Objective-C support(beta)
v2.0.2
Embed view controller support
v2.0.0
Updated to Swift 3
v1.1.0
Fixed an issue - Alerts comes to the top when it appears
v1.0.0
Banner templates
- Text only
- Text with a title
- Text with an ActivityIndicator
- Text with an icon
- Text with a button
- Text with two buttons
- Custom view banner
Author
Lasith Hettiarachchi, [email protected]
License
LIHAlert is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the LIHAlert README section above
are relevant to that project's source code only.