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 */; };
|
||||
EA2DC9B02BE175BA004F58C5 /* RequiredRule.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA2DC9AF2BE175BA004F58C5 /* RequiredRule.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 */; };
|
||||
EA336177288B19210071C351 /* VDS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = EA33616C288B19200071C351 /* VDS.framework */; };
|
||||
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>"; };
|
||||
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>"; };
|
||||
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; };
|
||||
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>"; };
|
||||
@ -900,6 +902,7 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
EAC925872911C9DE00091998 /* InputField.swift */,
|
||||
EA2DC9B32BE2C6FE004F58C5 /* TextField.swift */,
|
||||
EA6642942BCEBF9500D81DC4 /* TextLinkModel.swift */,
|
||||
);
|
||||
path = InputField;
|
||||
@ -1239,6 +1242,7 @@
|
||||
EAB5FEF12927F4AA00998C17 /* SelfSizingCollectionView.swift in Sources */,
|
||||
EA3361B8288B2AAA0071C351 /* ViewProtocol.swift in Sources */,
|
||||
EA3361A8288B23300071C351 /* UIColor.swift in Sources */,
|
||||
EA2DC9B42BE2C6FE004F58C5 /* TextField.swift in Sources */,
|
||||
EAC9257D29119B5400091998 /* TextLink.swift in Sources */,
|
||||
EA596ABF2A16B4F500300C4B /* Tabs.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