An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# KWVerificationCodeView

[![Build Status](https://app.bitrise.io/app/df05a5313a9741ef/status.svg?token=NNC-GCKiEh6G4w7MJ6bM5Q&branch=master)](https://app.bitrise.io/app/df05a5313a9741ef)
[![Version](https://img.shields.io/cocoapods/v/KWVerificationCodeView.svg?style=flat)](http://cocoapods.org/pods/KWVerificationCodeView)
[![License](https://img.shields.io/cocoapods/l/KWVerificationCodeView.svg?style=flat)](http://cocoapods.org/pods/KWVerificationCodeView)
[![Platform](https://img.shields.io/cocoapods/p/KWVerificationCodeView.svg?style=flat)](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.

![Screenshot](Screenshots/KWVerificationCodeView.gif)

## 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:

![Interface Builder Screenshot](Screenshots/interfacebuilder.png)

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/).

[![N|Solid](./logo.png)](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.