diff --git a/MVMCoreUI/Atoms/Views/LeftRightLabelView.swift b/MVMCoreUI/Atoms/Views/LeftRightLabelView.swift index d5cf579b..3deeae76 100644 --- a/MVMCoreUI/Atoms/Views/LeftRightLabelView.swift +++ b/MVMCoreUI/Atoms/Views/LeftRightLabelView.swift @@ -24,7 +24,9 @@ import Foundation var leftTextWidth: NSLayoutConstraint? var rightTextWidth: NSLayoutConstraint? + var rightTextLabeltrailing: NSLayoutConstraint? var rightTextLabelLeading: NSLayoutConstraint? + var leftTextTrailingLabel: NSLayoutConstraint? //------------------------------------------------------ // MARK: - Initialization @@ -71,6 +73,7 @@ import Foundation leftTextLabel.updateView(size) rightTextLabel.updateView(size) + // Resolves text layout issues found between both dynamically sized labels, number is not exact to screen width but performs as required. if leftTextLabel.hasText && rightTextLabel.hasText { rightTextLabel.preferredMaxLayoutWidth = floor((size - 16) * 0.4) } @@ -85,15 +88,15 @@ import Foundation leftTextLabel.topAnchor.constraint(equalTo: topAnchor).isActive = true leftTextLabel.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true - rightTextLabelLeading = rightTextLabel.leadingAnchor.constraint(equalTo: leftTextLabel.trailingAnchor, constant: 16) - rightTextLabelLeading?.isActive = true - let leftTextBottom = leftTextLabel.bottomAnchor.constraint(equalTo: bottomAnchor) leftTextBottom.priority = UILayoutPriority(249) leftTextBottom.isActive = true bottomAnchor.constraint(greaterThanOrEqualTo: leftTextLabel.bottomAnchor).isActive = true + rightTextLabelLeading = rightTextLabel.leadingAnchor.constraint(equalTo: leftTextLabel.trailingAnchor, constant: 16) + rightTextLabelLeading?.isActive = true + rightTextLabel.topAnchor.constraint(equalTo: topAnchor).isActive = true let rightLayout = layoutMarginsGuide.trailingAnchor.constraint(equalTo: rightTextLabel.trailingAnchor) rightLayout.priority = UILayoutPriority(rawValue: 995) @@ -127,7 +130,8 @@ import Foundation private func constrainLeftLabel() { rightTextLabelLeading?.isActive = false - layoutMarginsGuide.trailingAnchor.constraint(equalTo: leftTextLabel.trailingAnchor).isActive = true + leftTextTrailingLabel = layoutMarginsGuide.trailingAnchor.constraint(equalTo: leftTextLabel.trailingAnchor) + leftTextTrailingLabel?.isActive = true leftTextWidth?.isActive = false leftTextWidth = leftTextLabel.widthAnchor.constraint(equalTo: layoutMarginsGuide.widthAnchor, multiplier: 1.0) leftTextWidth?.priority = UILayoutPriority(rawValue: 999) @@ -137,8 +141,10 @@ import Foundation private func constrainRightLabel() { rightTextLabelLeading?.isActive = false - rightTextLabel.trailingAnchor.constraint(equalTo: layoutMarginsGuide.trailingAnchor).isActive = true - rightTextLabel.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor).isActive = true + rightTextLabeltrailing = rightTextLabel.trailingAnchor.constraint(equalTo: layoutMarginsGuide.trailingAnchor) + rightTextLabeltrailing?.isActive = true + rightTextLabelLeading = rightTextLabel.leadingAnchor.constraint(equalTo: layoutMarginsGuide.leadingAnchor) + rightTextLabelLeading?.isActive = true rightTextWidth?.isActive = false rightTextWidth = rightTextLabel.widthAnchor.constraint(equalTo: layoutMarginsGuide.widthAnchor, multiplier: 1.0) rightTextWidth?.priority = UILayoutPriority(rawValue: 999) @@ -148,6 +154,8 @@ import Foundation override open func resetConstraints() { super.resetConstraints() + leftTextTrailingLabel?.isActive = false + rightTextLabelLeading?.isActive = false leftTextWidth?.isActive = false rightTextWidth?.isActive = false constrainBothLabels()