LinKolnLee / TextFieldCounter

UITextField character counter with lovable UX πŸ’–. No math skills required πŸ™ƒ.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

TextFieldCounter

UITextField character counter with lovable UX πŸ’–. No math skills required πŸ™ƒ.

Swift Version License Build Status CocoaPods

Features

  • Set max length of UITextField
  • A beautiful and animated label about the limits
  • Easy setup with @IBInspectable

TextFieldCounter

Requirements

  • iOS 8.0+
  • Xcode 8.0
  • ARC

Installation

CocoaPods

You can use CocoaPods to install TextFieldCounter by adding it to your Podfile:

platform :ios, '8.0'
use_frameworks!
pod 'TextFieldCounter'

To get the full benefits import TextFieldCounter wherever you import UIKit

import UIKit
import TextFieldCounter

Manually

  1. Download and drop TextFieldCounter.swift in your project.
  2. Congratulations πŸš€

Usage example

By Inspector

  1. Set the class and configure the options.

Inspector

Programmatically

import TextFieldCounter

let frame = CGRect(x: 20, y: 80, width: 320, height: 30)
let textField = TextFieldCounter(frame: frame, limit: 30, shouldAnimate: true, colorOfCounterLabel: UIColor.darkGray, colorOfLimitLabel: UIColor.orange)

view.addSubview(textField)
Use Delegate

Set counterDelegate and enjoy it πŸš€:

override func viewDidLoad() {
    super.viewDidLoad()
    textField.counterDelegate = self
}

func didReachMaxLength(textField: TextFieldCounter) {
    print("didReachMaxLength")
}

Next Steps

  • Add Haptic Feedback
  • Add UIAppearance support
  • Add Tests
  • Add Carthage support

Contribute

We would ❀️ to see your contribution! To contribute to TextFieldCounter, check the LICENSE file for more info.

License

Distributed under the MIT license. See LICENSE for more information.

About

Created by Fabricio Serralvo – serralvo.co

Special thanks πŸ‘ to @ciceroduarte and @rogerluan

About

UITextField character counter with lovable UX πŸ’–. No math skills required πŸ™ƒ.

License:MIT License


Languages

Language:Swift 90.9%Language:Ruby 9.1%