refactored to use new methods
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
d3e8889674
commit
d345e8cb32
@ -10,44 +10,27 @@ import VDS
|
||||
import UIKit
|
||||
|
||||
extension 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 makeWrapperWithConstraints(for: view, edgeSpacing: edgeSpacing, isTrailing: isTrailing).view
|
||||
}
|
||||
|
||||
public class WrappedViewHelper {
|
||||
public var view: UIView
|
||||
|
||||
var viewPadding: CGFloat = 0 {
|
||||
didSet {
|
||||
view._topConstraint?.constant = viewPadding
|
||||
view._leadingConstraint?.constant = viewPadding
|
||||
view._trailingConstraint?.constant = -viewPadding
|
||||
view._bottomConstraint?.constant = -viewPadding
|
||||
}
|
||||
}
|
||||
|
||||
public init(view: UIView) {
|
||||
self.view = view
|
||||
}
|
||||
}
|
||||
|
||||
public static func makeWrappedView(for view: UIView, edgeSpacing: CGFloat = 0.0, isTrailing: Bool = true) -> WrappedViewHelper {
|
||||
public static func makeWrapperWithConstraints(for view: UIView, edgeSpacing: CGFloat = 0.0, isTrailing: Bool = true) -> (view: UIView, container: NSLayoutConstraint.Container) {
|
||||
let container = NSLayoutConstraint.Container()
|
||||
let wrapper = UIView().with {
|
||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||
}
|
||||
wrapper.addSubview(view)
|
||||
|
||||
view.pinTop(wrapper.topAnchor, edgeSpacing)
|
||||
view.pinBottom(wrapper.bottomAnchor, edgeSpacing)
|
||||
view.pinLeading(wrapper.leadingAnchor, edgeSpacing)
|
||||
|
||||
container.topConstraint = view.pinTop(anchor: wrapper.topAnchor, constant: edgeSpacing)
|
||||
container.bottomConstraint = view.pinBottom(anchor: wrapper.bottomAnchor, constant: edgeSpacing)
|
||||
container.leadingConstraint = view.pinLeading(anchor: wrapper.leadingAnchor, constant: edgeSpacing)
|
||||
if isTrailing {
|
||||
view.pinTrailingLessThanOrEqualTo(wrapper.trailingAnchor, edgeSpacing)
|
||||
container.trailingConstraint = view.pinTrailingLessThanOrEqualTo(anchor: wrapper.trailingAnchor, constant: edgeSpacing)
|
||||
} else {
|
||||
view.pinTrailing(wrapper.trailingAnchor, edgeSpacing)
|
||||
container.trailingConstraint = view.pinTrailing(anchor: wrapper.trailingAnchor, constant: edgeSpacing)
|
||||
}
|
||||
return WrappedViewHelper(view: wrapper)
|
||||
return (wrapper, container)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -26,7 +26,9 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
var viewSpacerRange = Slider()
|
||||
|
||||
var viewSize: CGFloat = 100.0
|
||||
var wrappedHelper: UIView.WrappedViewHelper!
|
||||
var componentWrapper: UIView!
|
||||
var componentConstraints: NSLayoutConstraint.Container!
|
||||
|
||||
var secondView = View()
|
||||
var thirdView = View()
|
||||
|
||||
@ -54,9 +56,18 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
items: UIColor.VDSColor.allCases)
|
||||
}()
|
||||
|
||||
var spacer: Float = 10 {
|
||||
var spacer: CGFloat = 10 {
|
||||
didSet {
|
||||
spacings.forEach{ $0.constant = CGFloat(spacer) }
|
||||
spacings.forEach{ $0.constant = spacer }
|
||||
}
|
||||
}
|
||||
|
||||
var viewPadding: CGFloat = 0 {
|
||||
didSet {
|
||||
componentConstraints.topConstraint?.constant = viewPadding
|
||||
componentConstraints.leadingConstraint?.constant = viewPadding
|
||||
componentConstraints.trailingConstraint?.constant = -viewPadding
|
||||
componentConstraints.bottomConstraint?.constant = -viewPadding
|
||||
}
|
||||
}
|
||||
|
||||
@ -65,16 +76,19 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
wrappedHelper = UIView.makeWrappedView(for: component, isTrailing: false)
|
||||
let wrapper = UIView.makeWrapperWithConstraints(for: component, isTrailing: false)
|
||||
componentWrapper = wrapper.view
|
||||
componentConstraints = wrapper.container
|
||||
|
||||
contentTopView.addSubview(secondView)
|
||||
contentTopView.addSubview(thirdView)
|
||||
contentTopView.addSubview(wrappedHelper.view)
|
||||
contentTopView.addSubview(componentWrapper)
|
||||
|
||||
component.width(viewSize).height(viewSize)
|
||||
secondView.width(viewSize).height(viewSize)
|
||||
thirdView.width(viewSize).height(viewSize)
|
||||
|
||||
wrappedHelper.view.pinTop().pinLeading()
|
||||
componentWrapper.pinTop().pinLeading()
|
||||
secondView.pinTop()
|
||||
thirdView.pinLeading().pinBottom()
|
||||
|
||||
@ -82,11 +96,11 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
secondView.pinBottomLessThanOrEqualTo(contentTopView.bottomAnchor)
|
||||
thirdView.pinTrailingLessThanOrEqualTo(contentTopView.trailingAnchor)
|
||||
|
||||
spacings.append(thirdView.topAnchor.constraint(equalTo: wrappedHelper.view.bottomAnchor))
|
||||
spacings.append(secondView.leadingAnchor.constraint(equalTo: wrappedHelper.view.trailingAnchor))
|
||||
spacings.append(thirdView.topAnchor.constraint(equalTo: componentWrapper.bottomAnchor))
|
||||
spacings.append(secondView.leadingAnchor.constraint(equalTo: componentWrapper.trailingAnchor))
|
||||
spacings.forEach{ $0.isActive = true }
|
||||
|
||||
wrappedHelper.viewPadding = 10
|
||||
viewPadding = 10
|
||||
|
||||
setupPicker()
|
||||
setupModel()
|
||||
@ -96,7 +110,7 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
override func showDebug(show: Bool) {
|
||||
super.showDebug(show: show)
|
||||
component.debugBorder(show: false)
|
||||
wrappedHelper.view.debugBorder(show: show, color: .green)
|
||||
componentWrapper.debugBorder(show: show, color: .green)
|
||||
secondView.debugBorder(show: show, color: .green)
|
||||
thirdView.debugBorder(show: show, color: .green)
|
||||
}
|
||||
@ -149,7 +163,7 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
viewPaddingRange.minimumValue = 0.0
|
||||
viewPaddingRange.value = 2.0
|
||||
viewPaddingRange.publisher(for: .valueChanged).sink(receiveValue: { [weak self] slider in
|
||||
self?.wrappedHelper.viewPadding = CGFloat(slider.value)
|
||||
self?.viewPadding = CGFloat(slider.value)
|
||||
self?.updateView()
|
||||
}).store(in: &subscribers)
|
||||
|
||||
@ -164,7 +178,7 @@ class DropShadowViewController: BaseViewController<View> {
|
||||
viewSpacerRange.minimumValue = 0
|
||||
viewSpacerRange.value = 10.0
|
||||
viewSpacerRange.publisher(for: .valueChanged).sink(receiveValue: { [weak self] slider in
|
||||
self?.spacer = slider.value
|
||||
self?.spacer = CGFloat(slider.value)
|
||||
}).store(in: &subscribers)
|
||||
|
||||
dropShadowLightColorPickerSelectorView.text = shadowLightColor.rawValue
|
||||
|
||||
Loading…
Reference in New Issue
Block a user