获取当前ViewController

来源:互联网 发布:淘宝号有卖的吗 编辑:程序博客网 时间:2024/06/05 12:34



- (UIViewController *)getCurrentRootViewController {    UIViewController *result;    if (rootViewController)    {        // If developer provieded a root view controler, use it        result = rootViewController;    }    else{// Try to find the root view controller programmically// Find the top window (that is not an alert view or other window)UIWindow *topWindow = [[UIApplication sharedApplication] keyWindow];if (topWindow.windowLevel != UIWindowLevelNormal){NSArray *windows = [[UIApplication sharedApplication] windows];for(topWindow in windows){if (topWindow.windowLevel == UIWindowLevelNormal)break;}}UIView *rootView = [[topWindow subviews] objectAtIndex:0];id nextResponder = [rootView nextResponder];if ([nextResponder isKindOfClass:[UIViewController class]])result = nextResponder;else if ([topWindow respondsToSelector:@selector(rootViewController)] && topWindow.rootViewController != nil)            result = topWindow.rootViewController;elseNSAssert(NO, @"ShareKit: Could not find a root view controller.  You can assign one manually by calling [[SHK currentHelper] setRootViewController:YOURROOTVIEWCONTROLLER].");}    return result;    }


0 0
原创粉丝点击