• This repository has been archived on 23/May/2022
  • Stars
    star
    684
  • Rank 63,976 (Top 2 %)
  • Language
    Swift
  • License
    MIT License
  • Created almost 9 years ago
  • Updated about 5 years ago

Reviews

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

Repository Details

Lightweight dropdown message bar in Swift. It's simple and beautiful.

SwiftyDrop

SwiftyDrop is a lightweight pure Swift simple and beautiful dropdown message.

Version License Platform Carthage compatible Join the chat at https://gitter.im/morizotter/SwiftyDrop

Features

  • Easy to use like: Drop.down("Message")
  • Message field expands depending on the message.

How it looks

States

Default Success Warning Error

Blurs

Light Dark

iPhone X

iPhoneX

iPad

iPad

Demo

Git clone or download this repository and open SwiftyDrop.xcodeproj . You can try SwiftyDrop in your Mac or iPhone.

Runtime Requirements

  • iOS8.0 or later
  • Xcode 9.0
  • Swift 4.0

Installation and Setup

Note: Embedded frameworks require a minimum deployment target of iOS 8.1.

Information: To use SwiftyDrop with a project targeting iOS 8.0 or lower, you must include the SwiftyDrop/Drop.swift source file directly in your project.

Installing with CocoaPods

CocoaPods is a centralised dependency manager that automates the process of adding libraries to your Cocoa application. You can install it with the following command:

$ gem update
$ gem install cocoapods
$ pods --version

To integrate SwiftyDrop into your Xcode project using CocoaPods, specify it in your Podfile and run pod install.

platform :ios, '8.0'
use_frameworks!
pod 'SwiftyDrop', '~>4.0'

Installing with Carthage

Just add to your Cartfile:

github "morizotter/SwiftyDrop" ~> 4.0

Manual Installation

To install SwiftyDrop without a dependency manager, please add all of the files in /SwiftyDrop to your Xcode Project.

Usage

Basic

To start using SwiftyDrop, write the following line wherever you want to show dropdown message:

import SwiftyDrop

Then invoke SwiftyDrop, by calling:

Drop.down("Message")

It is really simple!

States

SwiftyDrop has states of display.

Examples

Drop.down("Message")
Drop.down("Message", state: .Success)
Drop.down("Message", state: .Color(.orangeColor()))
Drop.down("Message", state: .Blur(.Light))

Custom states

You can customize looks by comforming DropStatable protocol. Examples are:

enum Custom: DropStatable {
    case BlackGreen
    var backgroundColor: UIColor? {
        switch self {
        case .BlackGreen: return .blackColor()
        }
    }
    var font: UIFont? {
        switch self {
        case .BlackGreen: return UIFont(name: "HelveticaNeue-Light", size: 24.0)
        }
    }
    var textColor: UIColor? {
        switch self {
            case .BlackGreen: return .greenColor()
        }
    }
    var blurEffect: UIBlurEffect? {
        switch self {
        case .BlackGreen: return nil
        }
    }
}

Drop.down(self.sampleText(), state: Custom.BlackGreen)

Of course you can use class or struct to make custom state if it is comforming to DropStatable protocol.

Prepared States are enum:

  • .Default
  • .Info
  • .Success
  • .Warning
  • .Error
  • .Color: UIColor
  • .Blur: UIBlurEffectStyle

Duration

Drop.down("Message", duration: 3.0)

You can change duration like this above. Default duration is 4.0.

Action

Drop.down("Message") {
    print("Action fired!")
}

Contribution

Please file issues or submit pull requests! We're waiting! :)

License

SwiftyDrop is released under the MIT license. Go read the LICENSE file for more information.