StringifyTextField

Custom UITextField is based on Stringify framework functionality.

Requirements

  • iOS 10.0+

Installation

CocoaPods

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

pod 'StringifyTextField', '~> 1.0'

Usage

import StringifyTextField

//Connect IBOutlet
@IBOutlet var stringifyTextField: StringifyTextField!

//Create programmatically
let manualTextField = StringifyTextField(type: .amount)
manualTextField.frame = CGRect(x: 20, y: 100, width: 200, height: 40)

StringifyTextField is a textfield which can format inputed string with 4 available formats.

Available formats:

public enum TextType: UInt {
  case amount = 0
  case creditCard = 1
  case IBAN = 2
  case expDate = 3
}

Amount format

You can specify currency mark for .amount text type

77302043-bc505e80-6d01-11ea-95c0-1e3af86a8cc0

Set up maximum integer digits (if your amount contains integer and fraction parts).

stringifyTextField.maxIntegerDigits = 6

If your amount doesn't contain a fraction part, you can disable decimal through Interface Builder or programmatically.

stringifyTextField.decimal = false

Credit card format

77302097-d7bb6980-6d01-11ea-87ef-6c64f2f75abe

Exp date format

77651967-9a174480-6f7e-11ea-947c-de74b8a40804

You can specify date format to get needed "clean" value

stringifyTextField.dateFormat = "MM.yyyy"

Plain value

You can get plain value from StringifyTextField, e.g for .expDate format it will be value with applying specific date format.

let expDate = stringifyTextField.plainValue

Bottom line & floated placeholder

You can add bottom line dispay in StringifyTextField

stringifyTextField.lineVisible = true
stringifyTextField.lineColorDefault = UIColor.black
stringifyTextField.lineColorActive = UIColor.blue

and floated label display

stringifyTextField.floatingPlaceholder = true
stringifyTextField.floatingPlaceholderColor = UIColor.black
stringifyTextField.floatingPlaceholderActiveColor = UIColor.blue

78424011-3faf6f80-7673-11ea-993d-3c449fa4420c

Demo

You can see other features in the example project.

GitHub