// // 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() let darkModeView = DocumentControlView() var observations: [NSKeyValueObservation] = [] static public let preferredWidth = CGFloat(200.0) init(darkModeEnabled: Bool) { super.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") if darkModeEnabled { darkModeView.label.text = "Disable Dark Mode" } else { darkModeView.label.text = "Enable Dark Mode" } darkModeView.imageView.image = DarkModeControls.buttonImage(forDarkModeState: darkModeEnabled) documentControlView.addArrangedSubview(navigationControlView) documentControlView.addArrangedSubview(fontSizeAdjustView) documentControlView.addArrangedSubview(findOnPageControlView) documentControlView.addArrangedSubview(darkModeView) documentControlView.addArrangedSubview(readabilityView) documentControlView.addArrangedSubview(settingsView) for (i, view) in documentControlView.arrangedSubviews.enumerated() { view.drawsBottomSeparator = (i < documentControlView.arrangedSubviews.count - 1) } } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func loadView() { self.view = documentControlView } override var preferredContentSize: CGSize { get { documentControlView.sizeThatFits(CGSize(width: Self.preferredWidth, height: -1)) } set {} } }