https://github.com/keepworks/kwverificationcodeview
A customisable verification code view to capture OTPs
https://github.com/keepworks/kwverificationcodeview
otp otpauth otpview swift verification verification-code
Last synced: about 1 month ago
JSON representation
A customisable verification code view to capture OTPs
- Host: GitHub
- URL: https://github.com/keepworks/kwverificationcodeview
- Owner: keepworks
- License: mit
- Created: 2017-01-16T12:47:43.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2023-07-13T05:11:36.000Z (about 2 years ago)
- Last Synced: 2025-08-17T07:36:05.544Z (about 2 months ago)
- Topics: otp, otpauth, otpview, swift, verification, verification-code
- Language: Swift
- Homepage:
- Size: 831 KB
- Stars: 86
- Watchers: 4
- Forks: 30
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# KWVerificationCodeView
[](https://app.bitrise.io/app/df05a5313a9741ef)
[](http://cocoapods.org/pods/KWVerificationCodeView)
[](http://cocoapods.org/pods/KWVerificationCodeView)
[](http://cocoapods.org/pods/KWVerificationCodeView)A customisable verification code view with built in validation. Can be used for one time passwords (OTPs), email verification codes etc.

## Example
To run the example project, clone the repo, and run `pod install` from the Example directory first.
## Requirements
- iOS 12 or later
- Swift 5.0
- Latest Xcode## Installation
KWVerificationCodeView is available through [CocoaPods](http://cocoapods.org). To install
it, simply add the following line to your Podfile:```ruby
pod "KWVerificationCodeView"
```Or for `Swift 4.2` support use
```ruby
pod "KWVerificationCodeView", '0.3.0'
```Or for `Swift 4` use:
```ruby
pod "KWVerificationCodeView", '0.2.0'
```## Usage
Add a `UIView` in your *Storyboard* and change the class to `KWVerificationCodeView`. You can set the properties in the *Attributes Inspector* and see a live preview:

The properties which can be directly set in the *Attributes Inspector* and their default values are as follows:
- `Underline Color` - Dark Gray Color
- `Underline Selected Color` - Black Color
- `Text Color` - Dark Text Color
- `Digits` - 4
- `Text Size` - 24.0
- `Text Font` - System Font
- `Text Field Background Color` - Clear Color
- `Text Field Tint Color` - Blue Color
- `Dark Keyboard` - Default Keyboard Appearance
Customizable properties
- `keyboardType` - Sets the keyboard type (Defaults to Number Pad when not set)
verificationCodeView.keyboardType = UIKeyboardType.emailAddress
### Variables
The `KWVerificationCodeView` has the following variables:
isTappable: Bool
Makes the KWVerficationCodeView tappable. Default value is `false`
### Methods
The `KWVerificationCodeView` has the following methods:
hasValidCode() -> Bool
Returns true when the entered code is valid.
getVerificationCode() -> String
Returns the validation code.
set(code: String)
Set verification code programatically by passing code as a string
focus()
Focus on First Text Field
clear()
Clears the verification code view and first field becomes first responder
### Protocols
#### KWVerificationCodeViewDelegate
KWVerificationCodeViewDelegate protocol has the following method:
didChangeVerificationCode()
Notifies that the text in `KWVerificationCodeView` has been changed. This is especially useful in situations where you have to enable the submit button only if the verification code is valid.
## Author
KeepWorks, ios@keepworks.com
## Credits
KWVerificationCodeView is owned and maintained by [KeepWorks](http://www.keepworks.com/).
[](http://www.keepworks.com/)
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/keepworks/KWVerificationCodeView.
## License
KWVerificationCodeView is available under the [MIT License](http://opensource.org/licenses/MIT). See the [License](https://github.com/keepworks/KWVerificationCodeView/blob/master/LICENSE) file for more info.