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 widthConstraint: NSLayoutConstraint?
|
||||||
internal var heightConstraint: 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 containerViewTrailingConstraint: NSLayoutConstraint?
|
||||||
internal var containerViewBottomLessThanOrEqualConstraint: NSLayoutConstraint?
|
|
||||||
internal var containerViewTrailingLessThanOrEqualConstraint: NSLayoutConstraint?
|
internal var containerViewTrailingLessThanOrEqualConstraint: NSLayoutConstraint?
|
||||||
|
|
||||||
internal var contentViewTopConstraint: NSLayoutConstraint?
|
internal var contentViewTopConstraint: NSLayoutConstraint?
|
||||||
@ -233,14 +235,15 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
|||||||
|
|
||||||
containerView
|
containerView
|
||||||
.pinTop()
|
.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()
|
containerViewTrailingConstraint = containerView.pinTrailing(anchor: trailingAnchor)?.deactivate()
|
||||||
containerViewBottomConstraint = containerView.pinBottom(anchor: bottomAnchor)?.deactivate()
|
|
||||||
|
|
||||||
containerViewTrailingLessThanOrEqualConstraint = containerView.pinTrailingLessThanOrEqualTo(anchor: trailingAnchor)?.deactivate()
|
containerViewTrailingLessThanOrEqualConstraint = containerView.pinTrailingLessThanOrEqualTo(anchor: trailingAnchor)?.deactivate()
|
||||||
containerViewBottomLessThanOrEqualConstraint = containerView.pinBottomLessThanOrEqualTo(anchor: bottomAnchor)?.deactivate()
|
|
||||||
|
|
||||||
backgroundImageView.pinToSuperView()
|
backgroundImageView.pinToSuperView()
|
||||||
|
|
||||||
widthConstraint = containerView.widthAnchor.constraint(equalToConstant: 0).deactivate()
|
widthConstraint = containerView.widthAnchor.constraint(equalToConstant: 0).deactivate()
|
||||||
@ -315,31 +318,40 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
|||||||
//deactivate everything
|
//deactivate everything
|
||||||
widthConstraint?.deactivate()
|
widthConstraint?.deactivate()
|
||||||
heightConstraint?.deactivate()
|
heightConstraint?.deactivate()
|
||||||
|
|
||||||
|
containerViewCenterXConstraint?.deactivate()
|
||||||
|
|
||||||
|
containerViewLeadingGreaterThanOrEqualConstraint?.deactivate()
|
||||||
|
containerViewLeadingConstraint?.deactivate()
|
||||||
|
|
||||||
containerViewTrailingLessThanOrEqualConstraint?.deactivate()
|
containerViewTrailingLessThanOrEqualConstraint?.deactivate()
|
||||||
containerViewTrailingLessThanOrEqualConstraint?.deactivate()
|
|
||||||
containerViewBottomConstraint?.deactivate()
|
|
||||||
containerViewTrailingConstraint?.deactivate()
|
containerViewTrailingConstraint?.deactivate()
|
||||||
|
|
||||||
|
print("Width: \(width?.description ?? "none")")
|
||||||
|
print("Height: \(height?.description ?? "none")")
|
||||||
|
|
||||||
//run logic to determine which to activate
|
//run logic to determine which to activate
|
||||||
if let width, aspectRatio == .none && height == nil{
|
if let width, aspectRatio == .none && height == nil{
|
||||||
widthConstraint?.constant = width
|
widthConstraint?.constant = width
|
||||||
widthConstraint?.activate()
|
widthConstraint?.activate()
|
||||||
containerViewTrailingConstraint?.activate()
|
containerViewCenterXConstraint?.activate()
|
||||||
containerViewBottomConstraint?.activate()
|
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||||
|
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||||
|
|
||||||
} else if let height, aspectRatio == .none && width == nil{
|
} else if let height, aspectRatio == .none && width == nil{
|
||||||
heightConstraint?.constant = height
|
heightConstraint?.constant = height
|
||||||
heightConstraint?.activate()
|
heightConstraint?.activate()
|
||||||
|
containerViewLeadingConstraint?.activate()
|
||||||
containerViewTrailingConstraint?.activate()
|
containerViewTrailingConstraint?.activate()
|
||||||
containerViewBottomConstraint?.activate()
|
|
||||||
|
|
||||||
} else if let height, let width {
|
} else if let height, let width {
|
||||||
widthConstraint?.constant = width
|
widthConstraint?.constant = width
|
||||||
heightConstraint?.constant = height
|
heightConstraint?.constant = height
|
||||||
heightConstraint?.activate()
|
heightConstraint?.activate()
|
||||||
widthConstraint?.activate()
|
widthConstraint?.activate()
|
||||||
|
containerViewCenterXConstraint?.activate()
|
||||||
|
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||||
containerViewBottomLessThanOrEqualConstraint?.activate()
|
|
||||||
|
|
||||||
} else if let width {
|
} else if let width {
|
||||||
let size = ratioSize(for: width)
|
let size = ratioSize(for: width)
|
||||||
@ -347,22 +359,23 @@ open class TileContainerBase<PaddingType: DefaultValuing>: Control where Padding
|
|||||||
heightConstraint?.constant = size.height
|
heightConstraint?.constant = size.height
|
||||||
widthConstraint?.activate()
|
widthConstraint?.activate()
|
||||||
heightConstraint?.activate()
|
heightConstraint?.activate()
|
||||||
|
containerViewCenterXConstraint?.activate()
|
||||||
|
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||||
containerViewBottomLessThanOrEqualConstraint?.activate()
|
|
||||||
|
|
||||||
} else if let height {
|
} else if let height {
|
||||||
let size = ratioSize(for: height)
|
let size = ratioSize(for: height)
|
||||||
//enforce exact height/width
|
|
||||||
widthConstraint?.constant = size.width
|
widthConstraint?.constant = size.width
|
||||||
heightConstraint?.constant = size.height
|
heightConstraint?.constant = size.height
|
||||||
widthConstraint?.activate()
|
widthConstraint?.activate()
|
||||||
heightConstraint?.activate()
|
heightConstraint?.activate()
|
||||||
|
containerViewCenterXConstraint?.activate()
|
||||||
|
containerViewLeadingGreaterThanOrEqualConstraint?.activate()
|
||||||
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
containerViewTrailingLessThanOrEqualConstraint?.activate()
|
||||||
containerViewBottomLessThanOrEqualConstraint?.activate()
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
//set to the parent view
|
//set to the parent view
|
||||||
containerViewBottomConstraint?.activate()
|
containerViewLeadingConstraint?.activate()
|
||||||
containerViewTrailingConstraint?.activate()
|
containerViewTrailingConstraint?.activate()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user