Skip to content
Snippets Groups Projects
SecureInputButton.swift 964 B
Newer Older
import UIKit
import Shared

final class SecureInputButton: UIView {
    private(set) var button = UIButton()
    private let color = Asset.neutralSecondaryAlternative.color
    private lazy var openedImage = Asset.eyeOpen.image.withTintColor(color)
    private lazy var closedImage = Asset.eyeClosed.image.withTintColor(color)

    init() {
        super.init(frame: .zero)

        button.setContentCompressionResistancePriority(.required, for: .horizontal)
        button.setImage(Asset.eyeClosed.image.withTintColor(color), for: .normal)

        addSubview(button)

        button.snp.makeConstraints {
            $0.top.equalToSuperview()
            $0.left.equalToSuperview().offset(10)
            $0.right.equalToSuperview().offset(-10)
            $0.bottom.equalToSuperview()
        }
    }

    required init?(coder: NSCoder) { nil }

    func setSecure(_ bool: Bool) {
        button.setImage(bool ? closedImage : openedImage, for: .normal)
    }
}