Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/PiXeL16/PasswordTextField
A custom TextField with a switchable icon which shows or hides the password and enforce good password policies
https://github.com/PiXeL16/PasswordTextField
carthage cocoapods custom-textfield password passwordtextfield swift textfield
Last synced: about 1 month ago
JSON representation
A custom TextField with a switchable icon which shows or hides the password and enforce good password policies
- Host: GitHub
- URL: https://github.com/PiXeL16/PasswordTextField
- Owner: PiXeL16
- License: mit
- Created: 2016-02-10T05:50:12.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2024-06-01T09:51:53.000Z (7 months ago)
- Last Synced: 2024-11-20T07:01:46.810Z (about 2 months ago)
- Topics: carthage, cocoapods, custom-textfield, password, passwordtextfield, swift, textfield
- Language: Swift
- Homepage:
- Size: 4.44 MB
- Stars: 310
- Watchers: 11
- Forks: 46
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies. (UI / TextField & TextView)
- awesome-swift - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforces good password policies. (Libs / UI)
- awesome-swift - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforces good password policies. (Libs / UI)
- awesome-ios-star - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies. (UI / TextField & TextView)
- awesome-neuron - PasswordTextField
- fucking-awesome-swift - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforces good password policies. (Libs / UI)
- awesome-swift - PasswordTextField - A custom TextField with a switchable icon which shows or hides the password and enforce good password policies ` 📝 3 years ago` (UI [🔝](#readme))
README
![PasswordTextFieldBanner](Art/passwordTextFieldBanner.png)
[![Build Status](https://travis-ci.org/PiXeL16/PasswordTextField.svg?branch=master)](https://travis-ci.org/PiXeL16/PasswordTextField/) [![codecov.io](https://codecov.io/github/PiXeL16/PasswordTextField/coverage.svg?branch=master)](https://codecov.io/github/PiXeL16/PasswordTextField?branch=master)
[![Swift Package Manager](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange?style=flat-square)](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange?style=flat-square)
[![CocoaPods Compatible](https://img.shields.io/cocoapods/v/PasswordTextField.svg)](https://img.shields.io/cocoapods/v/PasswordTextField.svg) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
[![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/matteocrippa/awesome-swift) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/PiXeL16/PasswordTextField/master/LICENSE)
[![Language](https://img.shields.io/badge/language-Swift%205.0-orange.svg)](https://swift.org)# PasswordTextField
A custom TextField with a switchable icon which shows or hides the password and enforces good password policies, written in `Swift`.![PasswordTextFieldGif](Web/PasswordTextField.gif)
:star: Features
---
* Custom toggle icon in IB or programmatically.
* Custom icon color in IB or programmatically.
* Custom password validation rules.
* Custom password validation error message.
* Control when to show the icon, while editing, always or never.:octocat: Installation
---#### Swift Package Manager (SPM)
1. In Xcode 11+ select *File > Packages > Add Package Dependency...*.
2. Enter this project's URL: https://github.com/PiXeL16/PasswordTextField.git#### CocoaPods
You can use [CocoaPods](http://cocoapods.org/) to install `PasswordTextField` by adding it to your `Podfile`:```ruby
platform :ios, '12.0'
use_frameworks!
pod 'PasswordTextField'
```To get the full benefits import `PasswordTextField` wherever you import UIKit
``` swift
import UIKit
import PasswordTextField
```
#### Carthage
Create a `Cartfile` that lists the framework and run `carthage bootstrap`. Follow the [instructions](https://github.com/Carthage/Carthage#if-youre-building-for-ios) to add `$(SRCROOT)/Carthage/Build/iOS/PasswordTextField.framework` to an iOS project.```
github "PiXeL16/PasswordTextField"
```#### Manually
1. Download and drop ```/PasswordTextField``` folder in your project.
2. Congratulations!:metal: Usage
---
1. Open a storyboard or Xib file.
2. Drag and drop a `UITextField` to a ViewController.
3. In Identity Inspector, replace the class from `UITextField` to `PasswordTextField` and the module to `PasswordTextField`.
4. Configure your properties in the Attribute Inspector.![Screenshot](Web/storyboardScreenshot.png)
## Properties
| Property name | Data type | Remark |
| ------------- |:-------------:| ----- |
| Show Toggle Button While | String | Possible values are `editing`(default), `always`, `never` |
| Image Tint Color | UIColor | The color off the Toggle image, the functionality use `UIImageRenderingMode.AlwaysTemplate` to change the default or custom image color|
|Custom Show Secure Text Image| UIImage| Your custom image to show the secure text|
|Custom Hide Secure Text Image| UIImage| Your custom image to hide the secure text|## Validation
`PasswordTextField` also provides functionality to enforce good password policies.
It will currently validate that the password format is `at least 8 characters long and contain one uppercase letter and one number`.
```swift
import PasswordTextFieldif passwordTextField.isInvalid(){
print(passwordTextField.errorMessage)
}
```You can also provide your custom password validation format (with Regex) and error message:
```swift
import PasswordTextFieldlet validationRule = RegexRule(regex:"^[A-Z ]+$", errorMessage: "Password must contain only uppercase letters")
passwordTextField.validationRule = validationRule
if passwordTextField.isInvalid(){
print(passwordTextField.errorMessage)
}
```TODO
-----
* Show indication when password is strong or weak in TextField
* Animation when toggling Button:alien: Author
------
Chris Jimenez - http://code.chrisjimenez.net, [@chrisjimeneznat](http://twitter.com/chrisjimeneznat):beer: Donate
------
If you want to buy me a beer, you can donate to my coin addresses below:
#### BTC
1BeGBew4CBdLgUSmvoyiU1LrM99GpkXgkj
#### ETH
0xa59a3793E3Cb5f3B1AdE6887783D225EDf67192d
#### LTC
Ld6FB3Tqjf6B8iz9Gn9sMr7BnowAjSUXaV## License
`PasswordTextField` is released under the MIT license. See [LICENSE](https://github.com/pixel16/PasswordTextField/blob/master/LICENSE) for details.