thieumao

visibleViewController

May 26th, 2017
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.76 KB | None | 0 0
  1. public extension UIWindow {
  2. public var visibleViewController: UIViewController? {
  3. return UIWindow.getVisibleViewControllerFrom(self.rootViewController)
  4. }
  5.  
  6. public static func getVisibleViewControllerFrom(_ vc: UIViewController?) -> UIViewController? {
  7. if let nc = vc as? UINavigationController {
  8. return UIWindow.getVisibleViewControllerFrom(nc.visibleViewController)
  9. } else if let tc = vc as? UITabBarController {
  10. return UIWindow.getVisibleViewControllerFrom(tc.selectedViewController)
  11. } else {
  12. if let pvc = vc?.presentedViewController {
  13. return UIWindow.getVisibleViewControllerFrom(pvc)
  14. } else {
  15. return vc
  16. }
  17. }
  18. }
  19. }
Advertisement
Add Comment
Please, Sign In to add comment