CocoaPods trunk is moving to be read-only. Read more on the blog, there are 18 months to go.

ZVAlertController 0.0.4

ZVAlertController 0.0.4

Maintained by Zev.



  • By
  • zevwings

ZVAlertController

a custom swift alert controller

Carthage compatible CocoaPods Compatible Platform

ZVAlertController is a pure-swift and wieldy AlertController.

Requirements

  • iOS 9.0+
  • Swift 5.0

Installation

Cocoapod

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects.

You can install Cocoapod with the following command

$ sudo gem install cocoapods

To integrate ZVAlertController into your project using CocoaPods, specify it into your Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'TargetName' do
    use_frameworks!
    pod 'ZVAlertController'
end

Then,install your dependencies with CocoaPods.

$ pod install

Carthage

Carthage is intended to be the simplest way to add frameworks to your application.

You can install Carthage with Homebrew using following command:

$ brew update
$ brew install carthage

To integrate ZVAlertController into your project using Carthage, specify it into your Cartfile

github "zevwings/ZVAlertController" ~> 0.0.1

Then,build the framework with Carthage using carthage update and drag ZVAlertController.framework into your project.

Note:

The framework is under the Carthage/Build, and you should drag it into Target -> Genral -> Embedded Binaries

Usage

You can use import ZVAlertController or import AlertController when you needed to use ZVAlertController.

Showing a Alert

When you start a task, You can using following code:

let alertController = AlertController(title: "title", message: "message")
present(alertController, animated: true, completion: nil)

you can add alert action use:

alertController.addAction(AlertAction(title: "confirm", style: .default, handler: { _ in
    print("comfirm action")
}))

you can also use NSAttributedString in message body

let attributedString = NSMutableAttributedString(string: "message")
attributedString.addAttributes([.foregroundColor: UIColor.cyan], range: NSRange(location: 0, length: 4))
let alertController = AlertController(title: "title", message: attributedString)

Props

the following props can custom the alertController.

// dismiss completion handler
public var dismissHandler: DismissHandler?
// should show the dissmiss button 
public var shouldShowDismissButton: Bool = true

// dismiss button content color
public var tintColor: UIColor = .blue

// destructive and default button text color
public var positiveColor: UIColor = Constant.positiveColor
// cancel button text color
public var negativeColor: UIColor = Constant.negativeColor
// action button text font
public var buttonFont: UIFont = .systemFont(ofSize: 14.0)

// title text color 
public var titleColor: UIColor = Constant.titleColor
// title text color 
public var titleFont: UIFont = .systemFont(ofSize: 14.0)

// message body text color 
public var messageColor: UIColor = Constant.messageColor
// message body text font
public var messageFont: UIFont = .systemFont(ofSize: 14.0)

Animation

ZVAlertController also provide AlertPresentStyle and AlertDismissStyle for animation, you can use presentStyle or dismissStyle to set the showing or hidden animation.

alertController.presentStyle = .fadeIn
alertController.dismissStyle = .fadeOut

More usage you can find in the Exmaple

License

ZVAlertController distributed under the terms and conditions of the Apache License