UIApplication.swift 998 B

123456789101112131415161718192021222324252627282930
  1. //
  2. // UIApplication.swift
  3. // Gasteizko Margolariak
  4. //
  5. // Created by Yuji Hato on 11/11/15.
  6. // Copyright © 2015 Yuji Hato. All rights reserved.
  7. //
  8. import UIKit
  9. extension UIApplication {
  10. class func topViewController(viewController: UIViewController? = UIApplication.sharedApplication().keyWindow?.rootViewController) -> UIViewController? {
  11. if let nav = viewController as? UINavigationController {
  12. return topViewController(nav.visibleViewController)
  13. }
  14. if let tab = viewController as? UITabBarController {
  15. if let selected = tab.selectedViewController {
  16. return topViewController(selected)
  17. }
  18. }
  19. if let presented = viewController?.presentedViewController {
  20. return topViewController(presented)
  21. }
  22. if let slide = viewController as? SlideMenuController {
  23. return topViewController(slide.mainViewController)
  24. }
  25. return viewController
  26. }
  27. }