Updating button constraints

This commit is contained in:
Sumanth Nadigadda 2022-05-07 23:46:56 +05:30
parent 89bc6c72ab
commit adb337f865

View File

@ -34,13 +34,8 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
// MARK: - Constraints // MARK: - Constraints
//-------------------------------------------------- //--------------------------------------------------
public var widthConstraint: NSLayoutConstraint { public var widthConstraint: NSLayoutConstraint?
return widthAnchor.constraint(equalToConstant: 0) public var minimumWidthConstraint: NSLayoutConstraint?
}
public var minimumWidthConstraint: NSLayoutConstraint {
return widthAnchor.constraint(greaterThanOrEqualToConstant: buttonSize.minimumWidth())
}
//-------------------------------------------------- //--------------------------------------------------
// MARK: - Initializers // MARK: - Initializers
@ -206,14 +201,24 @@ open class PillButton: Button, MVMCoreUIViewConstrainingProtocol {
layer.cornerRadius = getInnerPadding() layer.cornerRadius = getInnerPadding()
contentEdgeInsets = getContentEdgeInsets() contentEdgeInsets = getContentEdgeInsets()
if let contraint = buttonModel?.width, widthConstraint.constant != contraint { if let contraint = buttonModel?.width {
widthConstraint.constant = contraint
widthConstraint.isActive = true if widthConstraint == nil {
minimumWidthConstraint.isActive = false widthConstraint = widthAnchor.constraint(equalToConstant: contraint)
} else if !minimumWidthConstraint.isActive { } else if widthConstraint?.constant != contraint {
minimumWidthConstraint.constant = buttonSize.minimumWidth() widthConstraint?.constant = contraint
minimumWidthConstraint.isActive = true }
widthConstraint.isActive = false widthConstraint?.isActive = true
minimumWidthConstraint?.isActive = false
} else {
if minimumWidthConstraint == nil {
minimumWidthConstraint = widthAnchor.constraint(greaterThanOrEqualToConstant: buttonSize.minimumWidth())
} else {
minimumWidthConstraint?.constant = buttonSize.minimumWidth()
}
minimumWidthConstraint?.isActive = true
widthConstraint?.isActive = false
} }
} }