slowly refactored out old code
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
d11176f90d
commit
200203ade7
@ -10,65 +10,6 @@ import VDS
|
|||||||
import UIKit
|
import UIKit
|
||||||
|
|
||||||
extension UIView {
|
extension UIView {
|
||||||
|
|
||||||
public class ViewConstraints {
|
|
||||||
public var topConstraint: NSLayoutConstraint?
|
|
||||||
public var leadingConstraint: NSLayoutConstraint?
|
|
||||||
public var trailingConstraint: NSLayoutConstraint?
|
|
||||||
public var bottomConstraint: NSLayoutConstraint?
|
|
||||||
public weak var view: UIView?
|
|
||||||
public var allConstraints: [NSLayoutConstraint] {
|
|
||||||
[topConstraint, leadingConstraint, trailingConstraint, bottomConstraint].compactMap{ $0 }
|
|
||||||
}
|
|
||||||
|
|
||||||
public var isActive: Bool = true {
|
|
||||||
didSet {
|
|
||||||
allConstraints.forEach { $0.isActive = isActive }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public init(view: UIView){
|
|
||||||
self.view = view
|
|
||||||
}
|
|
||||||
|
|
||||||
public func removeConstraint(edges: [UIRectEdge]) {
|
|
||||||
edges.forEach { edge in
|
|
||||||
switch edge {
|
|
||||||
case .all:
|
|
||||||
if let leadingConstraint {
|
|
||||||
view?.removeConstraint(leadingConstraint)
|
|
||||||
}
|
|
||||||
if let trailingConstraint {
|
|
||||||
view?.removeConstraint(trailingConstraint)
|
|
||||||
}
|
|
||||||
if let topConstraint {
|
|
||||||
view?.removeConstraint(topConstraint)
|
|
||||||
}
|
|
||||||
if let bottomConstraint {
|
|
||||||
view?.removeConstraint(bottomConstraint)
|
|
||||||
}
|
|
||||||
case .left:
|
|
||||||
if let leadingConstraint {
|
|
||||||
view?.removeConstraint(leadingConstraint)
|
|
||||||
}
|
|
||||||
case .right:
|
|
||||||
if let trailingConstraint {
|
|
||||||
view?.removeConstraint(trailingConstraint)
|
|
||||||
}
|
|
||||||
case .top:
|
|
||||||
if let topConstraint {
|
|
||||||
view?.removeConstraint(topConstraint)
|
|
||||||
}
|
|
||||||
case .bottom:
|
|
||||||
if let bottomConstraint {
|
|
||||||
view?.removeConstraint(bottomConstraint)
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
break
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static func makeWrapper(for view: UIView, edgeSpacing: CGFloat = 0.0, isTrailing: Bool = true) -> UIView {
|
public static func makeWrapper(for view: UIView, edgeSpacing: CGFloat = 0.0, isTrailing: Bool = true) -> UIView {
|
||||||
return makeWrappedView(for: view, edgeSpacing: edgeSpacing, isTrailing: isTrailing).view
|
return makeWrappedView(for: view, edgeSpacing: edgeSpacing, isTrailing: isTrailing).view
|
||||||
@ -76,20 +17,18 @@ extension UIView {
|
|||||||
|
|
||||||
public class WrappedViewHelper {
|
public class WrappedViewHelper {
|
||||||
public var view: UIView
|
public var view: UIView
|
||||||
public var constraints: ViewConstraints
|
|
||||||
|
|
||||||
var viewPadding: CGFloat = 0 {
|
var viewPadding: CGFloat = 0 {
|
||||||
didSet {
|
didSet {
|
||||||
constraints.topConstraint?.constant = viewPadding
|
view._topConstraint?.constant = viewPadding
|
||||||
constraints.leadingConstraint?.constant = viewPadding
|
view._leadingConstraint?.constant = viewPadding
|
||||||
constraints.trailingConstraint?.constant = -viewPadding
|
view._trailingConstraint?.constant = -viewPadding
|
||||||
constraints.bottomConstraint?.constant = -viewPadding
|
view._bottomConstraint?.constant = -viewPadding
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public init(view: UIView, constraints: ViewConstraints) {
|
public init(view: UIView) {
|
||||||
self.view = view
|
self.view = view
|
||||||
self.constraints = constraints
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,26 +37,18 @@ extension UIView {
|
|||||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||||
}
|
}
|
||||||
wrapper.addSubview(view)
|
wrapper.addSubview(view)
|
||||||
let constraints = view.addConstraints(to: wrapper, edgeSpacing: edgeSpacing, isTrailing: isTrailing)
|
|
||||||
return WrappedViewHelper(view: wrapper, constraints: constraints)
|
view.pinTop(wrapper.topAnchor, edgeSpacing)
|
||||||
}
|
view.pinBottom(wrapper.bottomAnchor, edgeSpacing)
|
||||||
|
view.pinLeading(wrapper.leadingAnchor, edgeSpacing)
|
||||||
public func addConstraints(to view: UIView, edgeSpacing: CGFloat = 0.0, isTrailing: Bool = true) -> ViewConstraints {
|
|
||||||
let constraints = ViewConstraints(view: self)
|
|
||||||
constraints.topConstraint = topAnchor.constraint(equalTo: view.topAnchor)
|
|
||||||
constraints.bottomConstraint = bottomAnchor.constraint(equalTo: view.bottomAnchor)
|
|
||||||
|
|
||||||
if isTrailing {
|
if isTrailing {
|
||||||
constraints.leadingConstraint = leadingAnchor.constraint(equalTo: view.leadingAnchor)
|
view.pinTrailingLessThanOrEqualTo(wrapper.trailingAnchor, edgeSpacing)
|
||||||
constraints.trailingConstraint = trailingAnchor.constraint(lessThanOrEqualTo: view.trailingAnchor)
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
constraints.leadingConstraint = leadingAnchor.constraint(equalTo: view.leadingAnchor)
|
view.pinTrailing(wrapper.trailingAnchor, edgeSpacing)
|
||||||
constraints.trailingConstraint = trailingAnchor.constraint(equalTo: view.trailingAnchor)
|
|
||||||
}
|
}
|
||||||
constraints.isActive = true
|
return WrappedViewHelper(view: wrapper)
|
||||||
return constraints
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
extension ButtonBase {
|
extension ButtonBase {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user