• Stars
    star
    367
  • Rank 116,257 (Top 3 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 9 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Easy Swift UIAlertController

EZAlertController

CocoaPods Compatible

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")
}

EZAlertController

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")
    }
}

EZAlertController

// 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")
    }
}

IMG_0920

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")
    }
}

EZAlertController

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