ExtensionAppDelegate.swift 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //
  2. // ExtensionAppDelegate.swift
  3. // goodTree
  4. //
  5. // Created by Taeyong An on 11/12/2018.
  6. // Copyright © 2018 Taeyong An. All rights reserved.
  7. //
  8. import Foundation
  9. import UIKit
  10. extension AppDelegate {
  11. var visibleViewController: UIViewController? {
  12. guard let rootViewController = window?.rootViewController else {
  13. return nil
  14. }
  15. return getVisibleViewController(rootViewController)
  16. }
  17. private func getVisibleViewController(_ rootViewController: UIViewController) -> UIViewController? {
  18. if let presentedViewController = rootViewController.presentedViewController {
  19. return getVisibleViewController(presentedViewController)
  20. }
  21. if let navigationController = rootViewController as? UINavigationController {
  22. return navigationController.visibleViewController
  23. }
  24. if let tabBarController = rootViewController as? UITabBarController {
  25. return tabBarController.selectedViewController
  26. }
  27. return rootViewController
  28. }
  29. }