iOS 获取当前正在显示的ViewController,方法有如下几种:
1:从UIWindow中获取
#import "UIWindow+SHHelper.h"
@implementation UIWindow (SHHelper)
- (UIViewController*)sh_topMostController
{
// getting rootViewController
UIViewController *topController = [self rootViewController];
// Getting topMost ViewController
while ([topController presentedViewController]) topController = [topController presentedViewController];
// Returning topMost ViewController
return topController;
}
- (UIViewController*)sh_currentViewController;
{
UIViewController *currentViewController = [self sh_topMostController];
while ([currentViewController isKindOfClass:[UINavigationController class]] && [(UINavigationController*)currentViewController topViewController])
c