EZAlertController
  • October 28, 2023

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.

GitHub


View Github

#cocoapods #objectivec #swift #uialertcontroller #uibutton
YOU MIGHT ALSO LIKE...
ViewCondition

✨ Super sweet syntactic sugar for SwiftUI.View initializers. At a Glance

SwiftUIX

SwiftUIX attempts to fill the gaps of SwiftUI, providing an extensive suite of components, extensions and utilities to complement the ...

SwiftUI Environment Overrides

A tiny library that adds a control panel for testing how SwiftUI app adapts for different color themes, accessibility settings, ...