From 18090871ee2fb6012c086633495d32428edbd780 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 10 May 2024 16:52:28 -0500 Subject: [PATCH] removed min/max, you only need width + calculations Signed-off-by: Matt Bruce --- .../DropdownSelect/DropdownSelect.swift | 18 ++++-------------- VDS/Components/TextFields/EntryFieldBase.swift | 5 +---- .../TextFields/TextArea/TextArea.swift | 13 +++---------- 3 files changed, 8 insertions(+), 28 deletions(-) diff --git a/VDS/Components/DropdownSelect/DropdownSelect.swift b/VDS/Components/DropdownSelect/DropdownSelect.swift index febd3323..bf1603a9 100644 --- a/VDS/Components/DropdownSelect/DropdownSelect.swift +++ b/VDS/Components/DropdownSelect/DropdownSelect.swift @@ -106,8 +106,6 @@ open class DropdownSelect: EntryFieldBase { //-------------------------------------------------- // MARK: - Constraints //-------------------------------------------------- - internal var maxWidthConstraint: NSLayoutConstraint? - internal var minWidthConstraint: NSLayoutConstraint? internal var inlineWidthConstraint: NSLayoutConstraint? internal var titleLabelWidthConstraint: NSLayoutConstraint? @@ -123,9 +121,7 @@ open class DropdownSelect: EntryFieldBase { /// Called once when a view is initialized and is used to Setup additional UI or other constants and configurations. open override func setup() { super.setup() - minWidthConstraint = containerView.widthGreaterThanEqualTo(constant: containerSize.width) - maxWidthConstraint = containerView.width(constant: containerSize.width) - + titleLabel.setContentCompressionResistancePriority(.required, for: .horizontal) titleLabel.setContentHuggingPriority(.required, for: .horizontal) titleLabelWidthConstraint = titleLabel.width(constant: 0) @@ -196,17 +192,11 @@ open class DropdownSelect: EntryFieldBase { selectedOptionLabel.isEnabled = isEnabled //set the width constraints - if let width, width > minWidth { + let maxwidth = frame.size.width + if let width, width > minWidth && width < maxwidth { widthConstraint?.constant = width - widthConstraint?.isActive = true - minWidthConstraint?.isActive = false - maxWidthConstraint?.isActive = false } else { - minWidthConstraint?.constant = minWidth - maxWidthConstraint?.constant = frame.width - widthConstraint?.isActive = false - minWidthConstraint?.isActive = true - maxWidthConstraint?.isActive = true + widthConstraint?.constant = maxwidth >= minWidth ? maxwidth : minWidth } } diff --git a/VDS/Components/TextFields/EntryFieldBase.swift b/VDS/Components/TextFields/EntryFieldBase.swift index 83ca5a40..f34a2259 100644 --- a/VDS/Components/TextFields/EntryFieldBase.swift +++ b/VDS/Components/TextFields/EntryFieldBase.swift @@ -210,10 +210,7 @@ open class EntryFieldBase: Control, Changeable, FormFieldInternalValidatable { addSubview(stackView) //create the wrapping view - heightConstraint = containerView.heightAnchor.constraint(greaterThanOrEqualToConstant: containerSize.height) - heightConstraint?.priority = .defaultHigh - heightConstraint?.isActive = true - + heightConstraint = containerView.heightGreaterThanEqualTo(constant: containerSize.height) widthConstraint = containerView.width(constant: 0) let leftStackView = UIStackView().with { diff --git a/VDS/Components/TextFields/TextArea/TextArea.swift b/VDS/Components/TextFields/TextArea/TextArea.swift index 9879c54d..3913f2e6 100644 --- a/VDS/Components/TextFields/TextArea/TextArea.swift +++ b/VDS/Components/TextFields/TextArea/TextArea.swift @@ -32,8 +32,6 @@ open class TextArea: EntryFieldBase { //-------------------------------------------------- // MARK: - Private Properties //-------------------------------------------------- - internal var maxWidthConstraint: NSLayoutConstraint? - internal var minWidthConstraint: NSLayoutConstraint? internal var textViewHeightConstraint: NSLayoutConstraint? internal var inputFieldStackView: UIStackView = { @@ -140,8 +138,6 @@ open class TextArea: EntryFieldBase { open override func setup() { super.setup() fieldStackView.pinToSuperView(.uniform(VDSFormControls.spaceInset)) - minWidthConstraint = containerView.widthGreaterThanEqualTo(constant: containerSize.width) - maxWidthConstraint = containerView.width(constant: containerSize.width) textView.isScrollEnabled = true textView.autocorrectionType = .no @@ -173,10 +169,6 @@ open class TextArea: EntryFieldBase { characterCounterLabel.textColorConfiguration = primaryColorConfiguration.eraseToAnyColorable() bottomContainerStackView.spacing = VDSLayout.space2X - widthConstraint?.isActive = false - minWidthConstraint?.isActive = true - maxWidthConstraint?.isActive = true - } /// Resets to default settings. @@ -196,8 +188,9 @@ open class TextArea: EntryFieldBase { textView.surface = surface //set the width constraints - minWidthConstraint?.constant = containerSize.width - maxWidthConstraint?.constant = frame.width + let maxwidth = frame.size.width + let minWidth = containerSize.width + widthConstraint?.constant = maxwidth >= minWidth ? maxwidth : minWidth textViewHeightConstraint?.constant = minHeight.value characterCounterLabel.text = getCharacterCounterText()