refactored out TextField
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
d109db6701
commit
5627c1b76e
@ -56,6 +56,7 @@
|
|||||||
EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */; };
|
EA297A5729FB0A360031ED56 /* AppleGuidelinesTouchable.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */; };
|
||||||
EA2DC9B02BE175BA004F58C5 /* RequiredRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9AF2BE175BA004F58C5 /* RequiredRule.swift */; };
|
EA2DC9B02BE175BA004F58C5 /* RequiredRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9AF2BE175BA004F58C5 /* RequiredRule.swift */; };
|
||||||
EA2DC9B22BE175E6004F58C5 /* CharacterCountRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9B12BE175E6004F58C5 /* CharacterCountRule.swift */; };
|
EA2DC9B22BE175E6004F58C5 /* CharacterCountRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9B12BE175E6004F58C5 /* CharacterCountRule.swift */; };
|
||||||
|
EA2DC9B42BE2C6FE004F58C5 /* TextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9B32BE2C6FE004F58C5 /* TextField.swift */; };
|
||||||
EA336171288B19200071C351 /* VDS.docc in Sources */ = {isa = PBXBuildFile; fileRef = EA336170288B19200071C351 /* VDS.docc */; };
|
EA336171288B19200071C351 /* VDS.docc in Sources */ = {isa = PBXBuildFile; fileRef = EA336170288B19200071C351 /* VDS.docc */; };
|
||||||
EA336177288B19210071C351 /* VDS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA33616C288B19200071C351 /* VDS.framework */; };
|
EA336177288B19210071C351 /* VDS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA33616C288B19200071C351 /* VDS.framework */; };
|
||||||
EA33617C288B19210071C351 /* VDSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33617B288B19210071C351 /* VDSTests.swift */; };
|
EA33617C288B19210071C351 /* VDSTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA33617B288B19210071C351 /* VDSTests.swift */; };
|
||||||
@ -247,6 +248,7 @@
|
|||||||
EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleGuidelinesTouchable.swift; sourceTree = "<group>"; };
|
EA297A5629FB0A360031ED56 /* AppleGuidelinesTouchable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppleGuidelinesTouchable.swift; sourceTree = "<group>"; };
|
||||||
EA2DC9AF2BE175BA004F58C5 /* RequiredRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequiredRule.swift; sourceTree = "<group>"; };
|
EA2DC9AF2BE175BA004F58C5 /* RequiredRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RequiredRule.swift; sourceTree = "<group>"; };
|
||||||
EA2DC9B12BE175E6004F58C5 /* CharacterCountRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharacterCountRule.swift; sourceTree = "<group>"; };
|
EA2DC9B12BE175E6004F58C5 /* CharacterCountRule.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CharacterCountRule.swift; sourceTree = "<group>"; };
|
||||||
|
EA2DC9B32BE2C6FE004F58C5 /* TextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextField.swift; sourceTree = "<group>"; };
|
||||||
EA33616C288B19200071C351 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
EA33616C288B19200071C351 /* VDS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = VDS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
EA33616F288B19200071C351 /* VDS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VDS.h; sourceTree = "<group>"; };
|
EA33616F288B19200071C351 /* VDS.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VDS.h; sourceTree = "<group>"; };
|
||||||
EA336170288B19200071C351 /* VDS.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = VDS.docc; sourceTree = "<group>"; };
|
EA336170288B19200071C351 /* VDS.docc */ = {isa = PBXFileReference; lastKnownFileType = folder.documentationcatalog; path = VDS.docc; sourceTree = "<group>"; };
|
||||||
@ -900,6 +902,7 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
EAC925872911C9DE00091998 /* InputField.swift */,
|
EAC925872911C9DE00091998 /* InputField.swift */,
|
||||||
|
EA2DC9B32BE2C6FE004F58C5 /* TextField.swift */,
|
||||||
EA6642942BCEBF9500D81DC4 /* TextLinkModel.swift */,
|
EA6642942BCEBF9500D81DC4 /* TextLinkModel.swift */,
|
||||||
);
|
);
|
||||||
path = InputField;
|
path = InputField;
|
||||||
@ -1239,6 +1242,7 @@
|
|||||||
EAB5FEF12927F4AA00998C17 /* SelfSizingCollectionView.swift in Sources */,
|
EAB5FEF12927F4AA00998C17 /* SelfSizingCollectionView.swift in Sources */,
|
||||||
EA3361B8288B2AAA0071C351 /* ViewProtocol.swift in Sources */,
|
EA3361B8288B2AAA0071C351 /* ViewProtocol.swift in Sources */,
|
||||||
EA3361A8288B23300071C351 /* UIColor.swift in Sources */,
|
EA3361A8288B23300071C351 /* UIColor.swift in Sources */,
|
||||||
|
EA2DC9B42BE2C6FE004F58C5 /* TextField.swift in Sources */,
|
||||||
EAC9257D29119B5400091998 /* TextLink.swift in Sources */,
|
EAC9257D29119B5400091998 /* TextLink.swift in Sources */,
|
||||||
EA596ABF2A16B4F500300C4B /* Tabs.swift in Sources */,
|
EA596ABF2A16B4F500300C4B /* Tabs.swift in Sources */,
|
||||||
EAD062A72A3B67770015965D /* UIView+CALayer.swift in Sources */,
|
EAD062A72A3B67770015965D /* UIView+CALayer.swift in Sources */,
|
||||||
|
|||||||
46
VDS/Components/TextFields/InputField/TextField.swift
Normal file
46
VDS/Components/TextFields/InputField/TextField.swift
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
//
|
||||||
|
// TextField.swift
|
||||||
|
// VDS
|
||||||
|
//
|
||||||
|
// Created by Matt Bruce on 5/1/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
@objc(VDSTextField)
|
||||||
|
open class TextField: UITextField {
|
||||||
|
var horizontalPadding: CGFloat = 0
|
||||||
|
|
||||||
|
open override func textRect(forBounds bounds: CGRect) -> CGRect {
|
||||||
|
let rect = super.textRect(forBounds: bounds)
|
||||||
|
return rect.insetBy(dx: -horizontalPadding, dy: 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
open override func editingRect(forBounds bounds: CGRect) -> CGRect {
|
||||||
|
let rect = super.editingRect(forBounds: bounds)
|
||||||
|
return rect.insetBy(dx: -horizontalPadding, dy: 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
open override func placeholderRect(forBounds bounds: CGRect) -> CGRect {
|
||||||
|
let rect = super.placeholderRect(forBounds: bounds)
|
||||||
|
return rect.insetBy(dx: -horizontalPadding, dy: 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
open override var isSecureTextEntry: Bool {
|
||||||
|
didSet {
|
||||||
|
if isFirstResponder {
|
||||||
|
_ = becomeFirstResponder()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
open override func becomeFirstResponder() -> Bool {
|
||||||
|
let success = super.becomeFirstResponder()
|
||||||
|
if isSecureTextEntry, let text {
|
||||||
|
self.text?.removeAll()
|
||||||
|
insertText(text)
|
||||||
|
}
|
||||||
|
return success
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user