VKPinCodeView

VKPinCodeView is simple and elegant UI component for input PIN. You can easily customise appearance and get auto fill (OTP) iOS 12 feature right from the box.

Features

  • [x] Variable PIN length
  • [x] Underline and Border styles
  • [x] Customizable appearence
  • [x] Error status with / without shake animation
  • [x] Highlight selected entry with / without animation
  • [x] Callbacks (begin editing, change code, complete)
  • [x] Custom input validation

Preview

VKPinCodeView

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate VKPinCodeView into your Xcode project using CocoaPods, specify it in your Podfile:

pod 'VKPinCodeView'

Carthage

Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks. To integrate VKPinCodeView into your Xcode project using Carthage, specify it in your Cartfile:

github "Sunspension/VKPinCodeView"

Manually

If you still do not use any of dependency managers, just ask yourself why you still do this?

Minimal Setup

override func viewDidLoad() {
   super.viewDidLoad()
        
   let pinView = VKPinCodeView(style: VKEntryViewStyle.border)
   pinView.translatesAutoresizingMaskIntoConstraints = false
   view.addSubview(pinView)
   pinView.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 40).isActive = true
   pinView.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: -40).isActive = true
   pinView.centerYAnchor.constraint(equalTo: view.centerYAnchor).isActive = true
   pinView.heightAnchor.constraint(equalToConstant: 50).isActive = true
   pinView.becomeFirstResponder()
}

Contribute

VKPinCodeView is open to contribute, see contribution notes.

  • If you want to contribute, submit a pull request
  • If you found a bug, open an issue.
  • If you need help with a feature or need to disscuss something else please contact me [email protected]

Requirements

  • iOS 9.0+
  • Xcode 10.1+
  • Swift 5.0

Author

Made with :heart: by Vladimir Kokhanevich

GitHub