From 200203ade7013847ea8a780e74a83b5808abef2f Mon Sep 17 00:00:00 2001 From: Matt Bruce Date: Thu, 15 Jun 2023 10:27:18 -0500 Subject: [PATCH] slowly refactored out old code Signed-off-by: Matt Bruce --- VDSSample/Classes/Helper.swift | 95 +++++----------------------------- 1 file changed, 13 insertions(+), 82 deletions(-) diff --git a/VDSSample/Classes/Helper.swift b/VDSSample/Classes/Helper.swift index 80b2605..602b41e 100644 --- a/VDSSample/Classes/Helper.swift +++ b/VDSSample/Classes/Helper.swift @@ -10,65 +10,6 @@ import VDS import UIKit 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 { return makeWrappedView(for: view, edgeSpacing: edgeSpacing, isTrailing: isTrailing).view @@ -76,20 +17,18 @@ extension UIView { public class WrappedViewHelper { public var view: UIView - public var constraints: ViewConstraints var viewPadding: CGFloat = 0 { didSet { - constraints.topConstraint?.constant = viewPadding - constraints.leadingConstraint?.constant = viewPadding - constraints.trailingConstraint?.constant = -viewPadding - constraints.bottomConstraint?.constant = -viewPadding + view._topConstraint?.constant = viewPadding + view._leadingConstraint?.constant = viewPadding + view._trailingConstraint?.constant = -viewPadding + view._bottomConstraint?.constant = -viewPadding } } - public init(view: UIView, constraints: ViewConstraints) { + public init(view: UIView) { self.view = view - self.constraints = constraints } } @@ -98,26 +37,18 @@ extension UIView { $0.translatesAutoresizingMaskIntoConstraints = false } wrapper.addSubview(view) - let constraints = view.addConstraints(to: wrapper, edgeSpacing: edgeSpacing, isTrailing: isTrailing) - return WrappedViewHelper(view: wrapper, constraints: constraints) - } - - 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) + + view.pinTop(wrapper.topAnchor, edgeSpacing) + view.pinBottom(wrapper.bottomAnchor, edgeSpacing) + view.pinLeading(wrapper.leadingAnchor, edgeSpacing) if isTrailing { - constraints.leadingConstraint = leadingAnchor.constraint(equalTo: view.leadingAnchor) - constraints.trailingConstraint = trailingAnchor.constraint(lessThanOrEqualTo: view.trailingAnchor) - + view.pinTrailingLessThanOrEqualTo(wrapper.trailingAnchor, edgeSpacing) } else { - constraints.leadingConstraint = leadingAnchor.constraint(equalTo: view.leadingAnchor) - constraints.trailingConstraint = trailingAnchor.constraint(equalTo: view.trailingAnchor) + view.pinTrailing(wrapper.trailingAnchor, edgeSpacing) } - constraints.isActive = true - return constraints - } + return WrappedViewHelper(view: wrapper) + } } extension ButtonBase {