updated baseViewController, fixed issues with container controls for the examples
Signed-off-by: Matt Bruce <matt.bruce@verizon.com>
This commit is contained in:
parent
832890abf7
commit
349ddf6cce
@ -16,13 +16,11 @@ public class BaseViewController: UIViewController, Initable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private let edgeSpacing = 16.0
|
private let edgeSpacing = 16.0
|
||||||
private let topBottomSpacing = 20.0
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Combine Properties
|
// MARK: - Combine Properties
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
public var subscribers = Set<AnyCancellable>()
|
public var subscribers = Set<AnyCancellable>()
|
||||||
public var firstRender: Bool = false
|
|
||||||
|
|
||||||
//--------------------------------------------------
|
//--------------------------------------------------
|
||||||
// MARK: - Properties
|
// MARK: - Properties
|
||||||
@ -83,7 +81,7 @@ public class BaseViewController: UIViewController, Initable {
|
|||||||
return UIStackView().with {
|
return UIStackView().with {
|
||||||
$0.translatesAutoresizingMaskIntoConstraints = false
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||||
$0.alignment = .fill
|
$0.alignment = .fill
|
||||||
$0.distribution = .fillProportionally
|
$0.distribution = .fill
|
||||||
$0.axis = .vertical
|
$0.axis = .vertical
|
||||||
$0.spacing = 10
|
$0.spacing = 10
|
||||||
}
|
}
|
||||||
@ -108,28 +106,35 @@ public class BaseViewController: UIViewController, Initable {
|
|||||||
embed(scrollViewController)
|
embed(scrollViewController)
|
||||||
scrollViewController.scrollView.alwaysBounceVertical = true
|
scrollViewController.scrollView.alwaysBounceVertical = true
|
||||||
scrollViewController.contentView = contentView
|
scrollViewController.contentView = contentView
|
||||||
|
|
||||||
|
let spacerView = UIView().with{
|
||||||
|
$0.translatesAutoresizingMaskIntoConstraints = false
|
||||||
|
}
|
||||||
|
|
||||||
contentView.addSubview(contentTopView)
|
contentView.addSubview(contentTopView)
|
||||||
contentView.addSubview(contentBottomView)
|
contentView.addSubview(contentBottomView)
|
||||||
|
contentView.addSubview(spacerView)
|
||||||
contentBottomView.addSubview(formStackView)
|
contentBottomView.addSubview(formStackView)
|
||||||
|
|
||||||
contentTopView.topAnchor.constraint(equalTo: contentView.topAnchor, constant: edgeSpacing).isActive = true
|
contentTopView.pinTop(edgeSpacing)
|
||||||
contentTopView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: edgeSpacing).isActive = true
|
contentTopView.pinLeading(edgeSpacing)
|
||||||
contentTopView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -edgeSpacing).isActive = true
|
contentTopView.pinTrailing(edgeSpacing)
|
||||||
|
contentBottomView.pinTop(contentTopView.bottomAnchor, edgeSpacing)
|
||||||
|
contentBottomView.pinLeading(edgeSpacing)
|
||||||
|
contentBottomView.pinTrailing(edgeSpacing)
|
||||||
|
|
||||||
contentBottomView.topAnchor.constraint(equalTo: contentTopView.bottomAnchor, constant: edgeSpacing).isActive = true
|
spacerView
|
||||||
contentBottomView.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: edgeSpacing).isActive = true
|
.pinTop(contentBottomView.bottomAnchor, 100)
|
||||||
contentBottomView.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -edgeSpacing).isActive = true
|
.pinLeading()
|
||||||
contentBottomView.bottomAnchor.constraint(lessThanOrEqualTo: contentView.bottomAnchor, constant: -edgeSpacing).isActive = true
|
.pinTrailing()
|
||||||
|
.pinBottom()
|
||||||
|
|
||||||
formStackView.topAnchor.constraint(equalTo: contentBottomView.topAnchor, constant: edgeSpacing).isActive = true
|
formStackView.pinToSuperView()
|
||||||
formStackView.leadingAnchor.constraint(equalTo: contentBottomView.leadingAnchor, constant: edgeSpacing).isActive = true
|
|
||||||
formStackView.trailingAnchor.constraint(equalTo: contentBottomView.trailingAnchor, constant: -edgeSpacing).isActive = true
|
|
||||||
formStackView.bottomAnchor.constraint(equalTo: contentBottomView.bottomAnchor, constant: -100).isActive = true
|
|
||||||
|
|
||||||
view.addSubview(picker)
|
view.addSubview(picker)
|
||||||
picker.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor).isActive = true
|
picker.pinBottom()
|
||||||
picker.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor).isActive = true
|
picker.pinLeading()
|
||||||
picker.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor).isActive = true
|
picker.pinTrailing()
|
||||||
picker.isHidden = true
|
picker.isHidden = true
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -144,20 +149,14 @@ public class BaseViewController: UIViewController, Initable {
|
|||||||
addChild(viewController)
|
addChild(viewController)
|
||||||
view.addSubview(viewController.view)
|
view.addSubview(viewController.view)
|
||||||
viewController.view.translatesAutoresizingMaskIntoConstraints = false
|
viewController.view.translatesAutoresizingMaskIntoConstraints = false
|
||||||
viewController.view.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
|
viewController.view.pinToSuperView()
|
||||||
viewController.view.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
|
|
||||||
viewController.view.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
|
|
||||||
viewController.view.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
|
|
||||||
viewController.didMove(toParent: self)
|
viewController.didMove(toParent: self)
|
||||||
}
|
}
|
||||||
|
|
||||||
open func addContentTopView(view: UIView) {
|
open func addContentTopView(view: UIView) {
|
||||||
|
view.translatesAutoresizingMaskIntoConstraints = false
|
||||||
contentTopView.addSubview(view)
|
contentTopView.addSubview(view)
|
||||||
view.leadingAnchor.constraint(equalTo: contentTopView.leadingAnchor, constant: edgeSpacing).isActive = true
|
view.pinToSuperView(.init(top: edgeSpacing, left: edgeSpacing, bottom: edgeSpacing, right: edgeSpacing))
|
||||||
view.topAnchor.constraint(equalTo: contentTopView.topAnchor, constant: topBottomSpacing).isActive = true
|
|
||||||
|
|
||||||
view.trailingAnchor.constraint(lessThanOrEqualTo: contentTopView.trailingAnchor, constant: -edgeSpacing).isActive = true
|
|
||||||
view.bottomAnchor.constraint(lessThanOrEqualTo: contentTopView.bottomAnchor, constant: -topBottomSpacing).isActive = true
|
|
||||||
}
|
}
|
||||||
|
|
||||||
open func addFormRow(label: String, view: UIView, stackView: UIStackView? = nil) {
|
open func addFormRow(label: String, view: UIView, stackView: UIStackView? = nil) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user