VKPinCodeView alternatives and similar libraries
Based on the "TextField" category.
Alternatively, view VKPinCodeView alternatives based on common mentions on social networks and blogs.
-
PasswordTextField
A custom TextField with a switchable icon which shows or hides the password and enforce good password policies -
CHIOTPField
CHIOTPField is a set of textfields that can be used for One-time passwords, SMS codes, PIN codes, etc. Mady by @ChiliLabs - https://chililabs.io -
CBPinEntryView
A customisable view for entering arbitrary length pins, codes or passwords in iOS. Supports iOS 12 one time codes.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of VKPinCodeView or a related project?
README
Features
- [x] Variable PIN length
- [x] Underline, border and custom styles
- [x] The error status with / without shake animation
- [x] Resetting the error status manually, by user interaction or automatically with a custom delay
- [x] Highlighting the selected entry with / without animation
- [x] Text input callbacks (begin editing, change code, complete)
- [x] Text input validation
- [x] LTR/RTL support
Preview
[](pincode.gif)
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
Just copy and paste Source folder into your project.
Minimal Setup
override func viewDidLoad() {
super.viewDidLoad()
let pinView = VKPinCodeView()
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.onSettingStyle = { UnderlineStyle() }
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.2+
- Swift 5.0
Author
Made with :heart: by Vladimir Kokhanevich
License
VKPinCodeView is released under the MIT license. See LICENSE for details.
*Note that all licence references and agreements mentioned in the VKPinCodeView README section above
are relevant to that project's source code only.