获取当前控制器

来源:互联网 发布:火车票网上订票软件 编辑:程序博客网 时间:2024/04/28 16:46
//任意位置当前屏幕显示的viewcontroller- (UIViewController *)getCurrentVC{    UIViewController *result = 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;            }        }    }    UIView *frontView = [[window subviews] objectAtIndex:0];    id nextResponder = [frontView nextResponder];    if ([nextResponder isKindOfClass:[UIViewController class]])        result = nextResponder;    else        result = window.rootViewController;    return result;}//在view中获取当前控制器id nextResonder = [self nextResponder];    while (![nextResonder isKindOfClass:[UIViewController class]]) {        if (!nextResonder) return;        nextResonder = [nextResonder nextResponder];    }    UIViewController *currentController = (UIViewController *)nextResonder;
0 0
原创粉丝点击