got width working correctly

Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
Matt Bruce 2024-05-10 16:03:21 -05:00
parent a927be7517
commit aeb620a8a1

View File

@ -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()