EMAlertController is a beautiful alternative to the stock iOS UIAlertController. This library is fully customizable with an implementation like the native UIAlertController.

Icon

Table of Contents

Features

  • Alert Image (Optional)
  • Title
  • Scrollable Message (Optional)
  • Closure when a button is pressed
  • Fully Customizable
  • CocoaPods

Requirements

  • iOS 9.0+
  • Xcode 9+

Installation

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

To integrate EMAlertController into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
pod 'EMAlertController'
end

Then, run the following command:

$ pod install

Usage

let alert = EMAlertController(title: "EMAlertView Title", message: "This is a simple message for the EMAlertView")

let cancel = EMAlertAction(title: "CANCEL", style: .cancel)
let confirm = EMAlertAction(title: "CONFIRM", style: .normal) {
// Perform Action
}

alert.addAction(action: cancel)
alert.addAction(action: confirm)

Customization

Icon

let icon = UIImage(named: "imageName")

alert.iconImage = icon

Title

alert.titleText = "Sample Title"

Title Color

alert.titleColor = UIColor.red
// Default color = UIColor.black

Message

alert.messageText = "Sample message"

Message Color

alert.messageColor = UIColor.red
// Default color = UIColor.black

Corner Radius

alert.cornerRadius = 10
// Default corner radius = 5

Background Color

alert.backgroundColor = UIColor.white
// Default color = UIColor(red: 250/255, green: 250/255, blue: 250/255, alpha: 1.0)

Background View Color

alert.backgroundViewColor = UIColor.red
// Default color = UIColor.darkGray

Background View Alpha

alert.backgroundViewAlpha = 1.0
// Default alpha = 0.2

Todo

  • Textfield Support
  • Carthage Support
  • Actions Scroll Support
  • Message Scroll Support

License


EMAlertController is available under the MIT license. See the LICENSE file for more info.