updated constraints
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
9c32ea4870
commit
a432534e1a
@ -179,10 +179,12 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
||||
//--------------------------------------------------
|
||||
internal var widthConstraint: NSLayoutConstraint?
|
||||
internal var heightConstraint: NSLayoutConstraint?
|
||||
|
||||
internal var containerViewBottomConstraint: NSLayoutConstraint?
|
||||
|
||||
internal var containerViewCenterXConstraint: NSLayoutConstraint?
|
||||
internal var containerViewLeadingConstraint: NSLayoutConstraint?
|
||||
internal var containerViewLeadingGreaterThanOrEqualConstraint: NSLayoutConstraint?
|
||||
|
||||
internal var containerViewTrailingConstraint: NSLayoutConstraint?
|
||||
internal var containerViewBottomLessThanOrEqualConstraint: NSLayoutConstraint?
|
||||
internal var containerViewTrailingLessThanOrEqualConstraint: NSLayoutConstraint?
|
||||
|
||||
internal var contentViewTopConstraint: NSLayoutConstraint?
|
||||
@ -233,14 +235,15 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
||||
|
||||
containerView
|
||||
.pinTop()
|
||||
.pinLeading()
|
||||
.pinBottom()
|
||||
|
||||
containerViewCenterXConstraint = containerView.pinCenterX(anchor: centerXAnchor)?.deactivate()
|
||||
containerViewLeadingConstraint = containerView.pinLeading(anchor: leadingAnchor)?.deactivate()
|
||||
containerViewLeadingGreaterThanOrEqualConstraint = containerView.pinLeadingGreaterThanOrEqualTo(anchor: leadingAnchor)?.deactivate()
|
||||
|
||||
containerViewTrailingConstraint = containerView.pinTrailing(anchor: trailingAnchor)?.deactivate()
|
||||
containerViewBottomConstraint = containerView.pinBottom(anchor: bottomAnchor)?.deactivate()
|
||||
|
||||
containerViewTrailingLessThanOrEqualConstraint = containerView.pinTrailingLessThanOrEqualTo(anchor: trailingAnchor)?.deactivate()
|
||||
containerViewBottomLessThanOrEqualConstraint = containerView.pinBottomLessThanOrEqualTo(anchor: bottomAnchor)?.deactivate()
|
||||
|
||||
|
||||
backgroundImageView.pinToSuperView()
|
||||
|
||||
widthConstraint = containerView.widthAnchor.constraint(equalToConstant: 0).deactivate()
|
||||
@ -315,31 +318,40 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
||||
//deactivate everything
|
||||
widthConstraint?.deactivate()
|
||||
heightConstraint?.deactivate()
|
||||
|
||||
containerViewCenterXConstraint?.deactivate()
|
||||
|
||||
containerViewLeadingGreaterThanOrEqualConstraint?.deactivate()
|
||||
containerViewLeadingConstraint?.deactivate()
|
||||
|
||||
containerViewTrailingLessThanOrEqualConstraint?.deactivate()
|
||||
containerViewTrailingLessThanOrEqualConstraint?.deactivate()
|
||||
containerViewBottomConstraint?.deactivate()
|
||||
containerViewTrailingConstraint?.deactivate()
|
||||
|
||||
print("Width: \(width?.description ?? "none")")
|
||||
print("Height: \(height?.description ?? "none")")
|
||||
|
||||
//run logic to determine which to activate
|
||||
if let width, aspectRatio == .none && height == nil{
|
||||
widthConstraint?.constant = width
|
||||
widthConstraint?.activate()
|
||||
containerViewTrailingConstraint?.activate()
|
||||
containerViewBottomConstraint?.activate()
|
||||
containerViewCenterXConstraint?.activate()
|
||||
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||
|
||||
} else if let height, aspectRatio == .none && width == nil{
|
||||
heightConstraint?.constant = height
|
||||
heightConstraint?.activate()
|
||||
containerViewLeadingConstraint?.activate()
|
||||
containerViewTrailingConstraint?.activate()
|
||||
containerViewBottomConstraint?.activate()
|
||||
|
||||
} else if let height, let width {
|
||||
widthConstraint?.constant = width
|
||||
heightConstraint?.constant = height
|
||||
heightConstraint?.activate()
|
||||
widthConstraint?.activate()
|
||||
containerViewCenterXConstraint?.activate()
|
||||
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||
containerViewBottomLessThanOrEqualConstraint?.activate()
|
||||
|
||||
} else if let width {
|
||||
let size = ratioSize(for: width)
|
||||
@ -347,22 +359,23 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
||||
heightConstraint?.constant = size.height
|
||||
widthConstraint?.activate()
|
||||
heightConstraint?.activate()
|
||||
containerViewCenterXConstraint?.activate()
|
||||
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||
containerViewBottomLessThanOrEqualConstraint?.activate()
|
||||
|
||||
} else if let height {
|
||||
let size = ratioSize(for: height)
|
||||
//enforce exact height/width
|
||||
widthConstraint?.constant = size.width
|
||||
heightConstraint?.constant = size.height
|
||||
widthConstraint?.activate()
|
||||
heightConstraint?.activate()
|
||||
containerViewCenterXConstraint?.activate()
|
||||
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||
containerViewBottomLessThanOrEqualConstraint?.activate()
|
||||
|
||||
} else {
|
||||
//set to the parent view
|
||||
containerViewBottomConstraint?.activate()
|
||||
containerViewLeadingConstraint?.activate()
|
||||
containerViewTrailingConstraint?.activate()
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user