SettingsViewController.swift 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // LoopFollow
  2. // SettingsViewController.swift
  3. import SwiftUI
  4. import UIKit
  5. final class SettingsViewController: UIViewController {
  6. // MARK: Stored properties
  7. private var host: UIHostingController<SettingsMenuView>!
  8. // MARK: Life-cycle
  9. override func viewDidLoad() {
  10. super.viewDidLoad()
  11. // Build SwiftUI menu
  12. host = UIHostingController(rootView: SettingsMenuView())
  13. // Dark-mode override
  14. if Storage.shared.forceDarkMode.value {
  15. host.overrideUserInterfaceStyle = .dark
  16. }
  17. // Embed
  18. addChild(host)
  19. host.view.translatesAutoresizingMaskIntoConstraints = false
  20. view.addSubview(host.view)
  21. NSLayoutConstraint.activate([
  22. host.view.leadingAnchor.constraint(equalTo: view.leadingAnchor),
  23. host.view.trailingAnchor.constraint(equalTo: view.trailingAnchor),
  24. host.view.topAnchor.constraint(equalTo: view.topAnchor),
  25. host.view.bottomAnchor.constraint(equalTo: view.bottomAnchor),
  26. ])
  27. host.didMove(toParent: self)
  28. }
  29. override func viewWillAppear(_ animated: Bool) {
  30. super.viewWillAppear(animated)
  31. Observable.shared.settingsPath.set(NavigationPath())
  32. }
  33. }