iOS开发试图控制器相关知识

1. 获取最上级控制器

// 获取当前处于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;
}
以上来自:
作者:xiao小马哥
链接:http://www.jianshu.com/p/4deb01bba39f
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @ 2017-10-27 15:19  LizhuoAoki  阅读(59)  评论(0)    收藏  举报