Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- class CustomPasswordTextField: CustomInsetTextField {
- let eyeOpenImage = UIImage(named: kEyeOpenImageName)
- let eyeCloseImage = UIImage(named: kEyeCloseImageName)
- var eyeButton = UIButton(type: .custom)
- public override init(frame: CGRect) {
- super.init(frame: frame)
- setup()
- }
- public required init?(coder: NSCoder) {
- super.init(coder: coder)
- setup()
- }
- func setup() {
- eyeButton.frame = CGRect(x: 0, y: 0, width: 26, height: 9)
- eyeButton.contentMode = UIViewContentMode.scaleAspectFit
- eyeButton.backgroundColor = UIColor.clear
- eyeButton.imageEdgeInsets = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 10)
- eyeButton.addTarget(self, action: #selector(onEyeButtonClicked(_:)), for: .touchUpInside)
- eyeButton.setImage(eyeCloseImage, for: .normal)
- rightView = eyeButton
- rightViewMode = .always
- isSecureTextEntry = false
- }
- func onEyeButtonClicked(_ sender: Any) {
- isSecureTextEntry = !isSecureTextEntry
- if isSecureTextEntry {
- eyeButton.setImage(eyeCloseImage, for: .normal)
- rightView = eyeButton
- } else {
- eyeButton.setImage(eyeOpenImage, for: .normal)
- rightView = eyeButton
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment