From aeb620a8a13b7daa448966b32057ab00d4841cf6 Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Fri, 10 May 2024 16:03:21 -0500 Subject: [PATCH] got width working correctly Signed-off-by: Matt Bruce --- .../TextFields/TextArea/TextArea.swift | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/VDS/Components/TextFields/TextArea/TextArea.swift b/VDS/Components/TextFields/TextArea/TextArea.swift index 818ae418..61a87e13 100644 --- a/VDS/Components/TextFields/TextArea/TextArea.swift +++ b/VDS/Components/TextFields/TextArea/TextArea.swift @@ -32,6 +32,7 @@ open class TextArea: EntryFieldBase { //-------------------------------------------------- // MARK: - Private Properties //-------------------------------------------------- + internal var maxWidthConstraint: NSLayoutConstraint? internal var minWidthConstraint: NSLayoutConstraint? internal var textViewHeightConstraint: NSLayoutConstraint? @@ -152,9 +153,9 @@ open class TextArea: EntryFieldBase { open override func setup() { super.setup() fieldStackView.pinToSuperView(.uniform(VDSFormControls.spaceInset)) - minWidthConstraint = containerView.widthAnchor.constraint(greaterThanOrEqualToConstant: containerSize.width) - minWidthConstraint?.isActive = true - + minWidthConstraint = containerView.widthGreaterThanEqualTo(constant: containerSize.width) + maxWidthConstraint = containerView.width(constant: containerSize.width) + textView.isScrollEnabled = true textView.autocorrectionType = .no @@ -184,6 +185,11 @@ open class TextArea: EntryFieldBase { borderColorConfiguration.setSurfaceColors(VDSColor.elementsPrimaryOnlight, VDSColor.elementsPrimaryOndark, forState: .focused) characterCounterLabel.textColorConfiguration = primaryColorConfiguration.eraseToAnyColorable() bottomContainerStackView.spacing = VDSLayout.space2X + + widthConstraint?.isActive = false + minWidthConstraint?.isActive = true + maxWidthConstraint?.isActive = true + } /// Resets to default settings. @@ -203,15 +209,8 @@ open class TextArea: EntryFieldBase { textView.surface = surface //set the width constraints - if let width { - widthConstraint?.constant = width - widthConstraint?.isActive = true - minWidthConstraint?.isActive = false - } else { - minWidthConstraint?.constant = containerSize.width - widthConstraint?.isActive = false - minWidthConstraint?.isActive = true - } + minWidthConstraint?.constant = containerSize.width + maxWidthConstraint?.constant = frame.width characterCounterLabel.text = getCharacterCounterText()