Skip to content

Implementation of Google's "Floating labels" of Material design.

License

Notifications You must be signed in to change notification settings

LaserSrl/LaserFloatingTextField

 
 

Repository files navigation

EGFloatingTextField

Carthage compatible Version License Platform

An implemantation of "Float Label Pattern" of Material Design in Swift programming language.

alt tag

Usage

EGFloatingTextField is available through CocoaPods and Carthage. To install it, simply add the following lines to your Podfile:

use_frameworks!
pod "EGFloatingTextField"

Or add the following lines to your Cartfile:

github "enisgayretli/EGFloatingTextField" "master"

Setup

Import dependency

import PureLayout

Initialize the textfield and add it as a subview

let emailLabel = EGFloatingTextField(frame: CGRectMake(8, 64, CGRectGetWidth(self.view.bounds) - 16, 48))
// set as floatinglabel
emailLabel.floatingLabel = true
// set the placeholder
emailLabel.setPlaceHolder("Email")
// set the validation type there are two options at the moment, Email and Number.
emailLabel.validationType = .Email
// add as subview
self.view.addSubview(emailLabel)

Create custom validator for textfield

Add new case for EGFloatingTextFieldValidationType enum

enum EGFloatingTextFieldValidationType {

    case Email
    case Number
    case X
}

Create validation block for validationtype

private var xValidationBlock : EGFloatingTextFieldValidationBlock

Implement the validation block in commitInit Method

func commonInit(){

        self.xValidationBlock = ({(text:String, inout message: String) -> Bool in
            ....
        })
        .....
}

Author

Enis Gayretli, [email protected]

License

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

About

Implementation of Google's "Floating labels" of Material design.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 94.6%
  • Ruby 3.6%
  • Objective-C 1.8%