UIWindow+JKHierarchy.m 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. //
  2. // UIWindow+JKHierarchy.m
  3. // JKCategories (https://github.com/shaojiankui/JKCategories)
  4. //
  5. // Created by Jakey on 15/1/16.
  6. // Copyright (c) 2015年 www.skyfox.org. All rights reserved.
  7. //
  8. #import "UIWindow+JKHierarchy.h"
  9. @implementation UIWindow (JKHierarchy)
  10. - (UIViewController*)jk_topMostController
  11. {
  12. UIViewController *topController = [self rootViewController];
  13. // Getting topMost ViewController
  14. while ([topController presentedViewController]) topController = [topController presentedViewController];
  15. // Returning topMost ViewController
  16. return topController;
  17. }
  18. - (UIViewController*)jk_currentViewController;
  19. {
  20. UIViewController *currentViewController = [self jk_topMostController];
  21. while ([currentViewController isKindOfClass:[UINavigationController class]] && [(UINavigationController*)currentViewController topViewController])
  22. currentViewController = [(UINavigationController*)currentViewController topViewController];
  23. return currentViewController;
  24. }
  25. @end