// // TextField.swift // VDSSample // // Created by Matt Bruce on 8/24/22. // import Foundation import UIKit import VDS import VDSFormControlsTokens public class TextField: UITextField { public var isNumeric: Bool = false public var textPadding = UIEdgeInsets( top: 10, left: 10, bottom: 10, right: 10 ) public override init(frame: CGRect) { super.init(frame: frame) font = TextStyle.bodyLarge.font } public required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } public override func textRect(forBounds bounds: CGRect) -> CGRect { layer.borderColor = UIColor.black.cgColor layer.borderWidth = VDSFormControls.widthBorder let rect = super.textRect(forBounds: bounds) return rect.inset(by: textPadding) } public override func editingRect(forBounds bounds: CGRect) -> CGRect { layer.borderColor = UIColor.black.cgColor layer.borderWidth = VDSFormControls.widthBorder let rect = super.editingRect(forBounds: bounds) return rect.inset(by: textPadding) } } public class NumericField: TextField { public override init(frame: CGRect) { super.init(frame: frame) isNumeric = true } public required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } }