69 lines
2.6 KiB
Swift
69 lines
2.6 KiB
Swift
//
|
|
// ProgrammaticScrollViewController.swift
|
|
// MVMCoreUI
|
|
//
|
|
// Created by Scott Pfeil on 3/12/20.
|
|
// Copyright © 2020 Verizon Wireless. All rights reserved.
|
|
//
|
|
|
|
|
|
open class ProgrammaticScrollViewController: ScrollingViewController {
|
|
//--------------------------------------------------
|
|
// MARK: - Constraints
|
|
//--------------------------------------------------
|
|
|
|
public var topConstraint: NSLayoutConstraint?
|
|
public var bottomConstraint: NSLayoutConstraint?
|
|
|
|
//--------------------------------------------------
|
|
// MARK: - Initializers
|
|
//--------------------------------------------------
|
|
|
|
public override init(with scrollView: UIScrollView) {
|
|
super.init(with: scrollView)
|
|
}
|
|
|
|
public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
|
|
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
|
|
}
|
|
|
|
required public init?(coder: NSCoder) {
|
|
super.init(coder: coder)
|
|
}
|
|
|
|
//--------------------------------------------------
|
|
// MARK: - Lifecycle
|
|
//--------------------------------------------------
|
|
|
|
open override func loadView() {
|
|
|
|
let view = UIView()
|
|
view.backgroundColor = .white
|
|
|
|
let scrollView = UIScrollView()
|
|
scrollView.backgroundColor = .clear
|
|
scrollView.translatesAutoresizingMaskIntoConstraints = false
|
|
view.addSubview(scrollView)
|
|
|
|
// Sets the constraints for the scroll view
|
|
scrollView.leftAnchor.constraint(equalTo: view.leftAnchor).isActive = true
|
|
view.rightAnchor.constraint(equalTo: scrollView.rightAnchor).isActive = true
|
|
topConstraint = scrollView.topAnchor.constraint(equalTo: view.topAnchor)
|
|
topConstraint?.isActive = true
|
|
bottomConstraint = view.bottomAnchor.constraint(equalTo: scrollView.bottomAnchor)
|
|
bottomConstraint?.isActive = true
|
|
|
|
// Sets the constraints for the content view
|
|
let contentView = MVMCoreUICommonViewsUtility.commonView()
|
|
scrollView.addSubview(contentView)
|
|
contentView.leftAnchor.constraint(equalTo: scrollView.safeAreaLayoutGuide.leftAnchor).isActive = true
|
|
scrollView.safeAreaLayoutGuide.rightAnchor.constraint(equalTo: contentView.rightAnchor).isActive = true
|
|
contentView.topAnchor.constraint(equalTo: scrollView.topAnchor).isActive = true
|
|
scrollView.bottomAnchor.constraint(equalTo: contentView.bottomAnchor).isActive = true
|
|
|
|
self.contentView = contentView
|
|
self.scrollView = scrollView
|
|
self.view = view
|
|
}
|
|
}
|