EZAlertController
Easy Swift UIAlertController
Install / Use
/learn @thellimist/EZAlertControllerREADME
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 4.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
Related Skills
node-connect
354.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
