获取iOS应用中当前处于Activity状态的ViewController

// 获取当前处于activity状态的view controller

- (UIViewController *)activityViewController

{

    UIViewController* activityViewController = nil;

    

    UIWindow *window = [[UIApplication sharedApplication] keyWindow];

    if(window.windowLevel != UIWindowLevelNormal)

    {

        NSArray *windows = [[UIApplication sharedApplication] windows];

        for(UIWindow *tmpWin in windows)

        {

            if(tmpWin.windowLevel == UIWindowLevelNormal)

            {

                window = tmpWin;

                break;

            }

        }

    }

    

    NSArray *viewsArray = [window subviews];

    if([viewsArray count] > 0)

    {

        UIView *frontView = [viewsArray objectAtIndex:0];

        

        id nextResponder = [frontView nextResponder];

        

        if([nextResponder isKindOfClass:[UIViewController class]])

        {

            activityViewController = nextResponder;

        }

        else

        {

            activityViewController = window.rootViewController;

        }

    }

    

    return activityViewController;

}
复制代码

你可能感兴趣的:(controller)