refactored width to fields

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-05-10 16:17:12 -05:00
parent aeb620a8a1
commit 3859c8eeb7
3 changed files with 22 additions and 21 deletions

View File

@ -78,15 +78,28 @@ extension InputField {
inputField.fieldStackView.setCustomSpacing(0, after: inputField.statusIcon)
}
// //set the width constraints
// if let width = inputField.width, width > minWidth {
// inputField.widthConstraint?.constant = width
// inputField.widthConstraint?.isActive = true
// inputField.minWidthConstraint?.isActive = false
// } else {
// inputField.minWidthConstraint?.constant = minWidth
// inputField.widthConstraint?.isActive = false
// inputField.minWidthConstraint?.isActive = true
// }
//set the width constraints
if let width = inputField.width, width > minWidth {
if let width = inputField.width, width > minWidth {
inputField.widthConstraint?.constant = width
inputField.widthConstraint?.isActive = true
inputField.minWidthConstraint?.isActive = false
inputField.maxWidthConstraint?.isActive = false
} else {
inputField.minWidthConstraint?.constant = minWidth
inputField.maxWidthConstraint?.constant = inputField.frame.width
inputField.widthConstraint?.isActive = false
inputField.minWidthConstraint?.isActive = true
inputField.maxWidthConstraint?.isActive = true
}
//placeholder

View File

@ -34,6 +34,7 @@ open class InputField: EntryFieldBase {
//--------------------------------------------------
// MARK: - Private Properties
//--------------------------------------------------
internal var maxWidthConstraint: NSLayoutConstraint?
internal var minWidthConstraint: NSLayoutConstraint?
internal var titleLabelWidthConstraint: NSLayoutConstraint?
@ -171,9 +172,8 @@ open class InputField: EntryFieldBase {
titleLabel.setContentCompressionResistancePriority(.required, for: .horizontal)
titleLabel.setContentHuggingPriority(.required, for: .horizontal)
titleLabelWidthConstraint = titleLabel.width(constant: 0)
minWidthConstraint = containerView.widthAnchor.constraint(greaterThanOrEqualToConstant: 0)
minWidthConstraint?.isActive = true
maxWidthConstraint = containerView.width(constant: containerSize.width)
minWidthConstraint = containerView.widthGreaterThanEqualTo(constant: 0)
textField.heightAnchor.constraint(equalToConstant: 20).isActive = true
textField.delegate = self

View File

@ -51,21 +51,8 @@ open class TextArea: EntryFieldBase {
$0.textAlignment = .right
$0.numberOfLines = 1
}
private var _minHeight: Height = .twoX
open var minHeight: Height? {
get { return _minHeight }
set {
if let newValue {
_minHeight = newValue
} else {
_minHeight = .twoX
}
textViewHeightConstraint?.constant = _minHeight.value
setNeedsUpdate()
}
}
open var minHeight: Height = .twoX { didSet { setNeedsUpdate() } }
//--------------------------------------------------
// MARK: - Public Properties
@ -211,7 +198,8 @@ open class TextArea: EntryFieldBase {
//set the width constraints
minWidthConstraint?.constant = containerSize.width
maxWidthConstraint?.constant = frame.width
textViewHeightConstraint?.constant = minHeight.value
characterCounterLabel.text = getCharacterCounterText()
statusIcon.color = iconColorConfiguration.getColor(self)
@ -309,7 +297,7 @@ open class TextArea: EntryFieldBase {
//since it will autogrow with the current settings
if let textViewHeightConstraint, textView.isEditable {
var height = textView.contentSize.height
height = max(height, _minHeight.value)
height = max(height, minHeight.value)
if height > Height.twoX.value && height <= Height.fourX.value {
textViewHeightConstraint.constant = Height.fourX.value
} else if height > Height.fourX.value {