// // DocumentControlViewController.swift // App // // Created by James Magahern on 9/22/20. // import UIKit class DocumentControlViewController: UIViewController { let documentControlView = StackView(dimension: .vertical) let fontSizeAdjustView = FontSizeAdjustView() let findOnPageControlView = DocumentControlView() let navigationControlView = NavigationControlsView() let settingsView = DocumentControlView() let readabilityView = DocumentControlView() var observations: [NSKeyValueObservation] = [] static public let preferredWidth = CGFloat(200.0) convenience init() { self.init(nibName: nil, bundle: nil) findOnPageControlView.label.text = "Find On Page" findOnPageControlView.imageView.image = UIImage(systemName: "magnifyingglass") settingsView.label.text = "Settings" settingsView.imageView.image = UIImage(systemName: "gear") readabilityView.label.text = "Reader Mode" readabilityView.imageView.image = UIImage(systemName: "doc.richtext") documentControlView.addArrangedSubview(navigationControlView) documentControlView.addArrangedSubview(fontSizeAdjustView) documentControlView.addArrangedSubview(findOnPageControlView) documentControlView.addArrangedSubview(readabilityView) documentControlView.addArrangedSubview(settingsView) for (i, view) in documentControlView.arrangedSubviews.enumerated() { view.drawsBottomSeparator = (i < documentControlView.arrangedSubviews.count - 1) } } override func loadView() { self.view = documentControlView } override var preferredContentSize: CGSize { get { documentControlView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) } set {} } }