Giter Club home page Giter Club logo

alertift's Introduction

Alertift

UIAlertControlelr wrapper for Swift

GitHub release Language Carthage Compatible CocoaPods CocoaPodsDL Awesome

Alertift.alert(title: "Confirm", message: "Delete this post?")
    .action(.destructive("Delete")) {
        // delete post
    }
    .action(.cancel("Cancel"))
    .show()

img1

Feature

  • Method chain
  • UITextField support
  • iPad support(Action Sheet, popover)

Examples

Simple Alert

Alertift.alert(title: "Sample 1", message: "Simple alert!")
    .action(.default("OK"))
    .show()

img2

Alertift.alert(title: "Confirm", message: "Delete this post?")
    .action(.destructive("Delete")) {
        // delete post
    }
    .action(.cancel("Cancel"))
    .show()

img1

Prompt Alert

Alertift.alert(title: "Sign in", message: "Input your ID and Password")
    .textField { textField in
        textField.placeholder = "ID"
    }
    .textField { textField in
        textField.placeholder = "Password"
        textField.isSecureTextEntry = true
    }
    .action(.cancel("Cancel"))
    .action(.default("Sign in"), textFieldsHandler: { textFields in
        let id = textFields?.first?.text ?? ""
        let password = textFields?.last?.text ?? ""
        // sign in
    })
    .show()

img3

Action Sheet

Alertift.actionSheet(message: "Which food do you like?")
   .action(.default("๐Ÿฃ"))
   .action(.default("๐ŸŽ"))
   .action(.default("๐Ÿ–"))
   .action(.default("๐Ÿ…"))
   .action(.cancel("None of them"))
   .finally { action, index in
       if action.style == .cancel {
           return
       }
       Alertift.alert(message: "\(index). \(action.title!)")
           .action(.default("OK"))
           .show()
   }
   .show()

img4

for iPad

Use popover(sourceView:SourceRect)

Alertift.actionSheet(message: "Which food do you like?")
   .popover(sourceView: self.view, sourceRect: button.frame)
   .action(.default("๐Ÿฃ"))
   .action(.default("๐ŸŽ"))
   .action(.default("๐Ÿ–"))
   .action(.default("๐Ÿ…"))
   .action(.cancel("None of them"))
   .finally(handler: { action, index in
       if action.style == .cancel {
           return
       }
       Alertift.alert(message: "\(index). \(action.title!)")
           .action(.default("OK"))
           .show()
   })
   .show()

img5

Requirements

  • iOS 9.0+
  • Xcode 8.1+
  • Swift 3.0+

Installation

Carthage

  • Add the following to your Cartfile:
github "sgr-ksmt/Alertift" ~> 1.0
  • Run carthage update
  • Add the framework as described.
    Details: Carthage Readme

CocoaPods

Alertift is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'Alertift', '~> 1.0'

and run pod install

Manually Install

Download all *.swift files and put your project.

Change log

Change log is here.

Communication

  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, submit a pull request.:muscle:

License

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

alertift's People

Contributors

sgr-ksmt avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.