EZAlertController
Easy Swift UIAlertController
- One line setup for all UIAlertControllers
- Button action with closures instead of selectors
- Easily customizable
- Easy action sheets
Swift 2.0 is maintained in this branch
Usage
One Button Alert
EZAlertController.alert("Title")
EZAlertController.alert("Title", message: "Message")
EZAlertController.alert("Title", message: "Message", acceptMessage: "OK") { () -> () in
print("cliked OK")
}
Multiple Button Alerts
EZAlertController.alert("Title", message: "Message", buttons: ["First", "Second"]) { (alertAction, position) -> Void in
if position == 0 {
print("First button clicked")
} else if position == 1 {
print("Second button clicked")
}
}
// With Preferred Button Style along with all alerts in a single closure
// Here the Logout button will be red in color to show that it is a destructive action
EZAlertController.alert("Title", message: "Message", buttons: ["Cancel","Logout"], buttonsPreferredStyle:[.default, .destructive]) { (alert, position) in
if position == 0 {
print("Cancel button clicked")
} else if position == 1 {
print("Logout button clicked")
}
}
Action Sheet
// With individual UIAlertAction objects
let firstButtonAction = UIAlertAction(title: "First Button", style: UIAlertActionStyle.Default, handler: { (UIAlertAction) -> Void in
print("First Button pressed")
})
let secondButtonAction = UIAlertAction(title: "Second Button", style: UIAlertActionStyle.Default, handler: { (UIAlertAction) -> Void in
print("Second Button pressed")
})
EZAlertController.actionSheet("Title", message: "message", actions: [firstButtonAction, secondButtonAction])
// With all actions in single closure
EZAlertController.actionSheet("Title", message: "Message", buttons: ["First", "Second"]) { (alertAction, position) -> Void in
if position == 0 {
print("First button clicked")
} else if position == 1 {
print("Second button clicked")
}
}
Customizable
let alertController = EZAlertController.alert("Title") // Returns UIAlertController
alertController.setValue(attributedTitle, forKey: "attributedTitle")
alertController.setValue(attributedMessage, forKey: "attributedMessage")
alertController.view.tintColor = self.view.tintColor
...
Objective-C support
#import "ProjectName-Swift.h"
...
[EZAlertController alert:@"Title" message:@"Message"];
Requirements
- Swift version 3.0
Installation
Install via CocoaPods
You can use CocoaPods to install EZAlertController
by adding it to your Podfile
:
platform :ios, '8.0'
use_frameworks!
pod 'EZAlertController', '3.2'
For current master branch
pod 'EZAlertController', :git => "https://github.com/thellimist/EZAlertController.git", :branch => 'master'
Install Manually
- Download and drop 'EZAlertController.swift' in your project.
Improvement
- Feel free sending pull requests.
License
- EZAlertController is available under the MIT license. See the LICENSE file.
Keywords
swift, alert, AlertView, AlertViewController, UIAlertView, UIAlertViewController