mvm_core_ui/MVMCoreUI/BaseControllers/ProgrammaticScrollViewController.swift
Pfeil, Scott Robert 79b3b9b0c5 three layer fixes
2020-04-22 20:44:37 -04:00

58 lines
2.1 KiB
Swift

//
// ProgrammaticScrollViewController.swift
// MVMCoreUI
//
// Created by Scott Pfeil on 3/12/20.
// Copyright © 2020 Verizon Wireless. All rights reserved.
//
import Foundation
open class ProgrammaticScrollViewController: ScrollingViewController {
public var topConstraint: NSLayoutConstraint?
public var bottomConstraint: NSLayoutConstraint?
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)
}
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
}
}