您的位置:首页 > 移动开发 > IOS开发

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

2016-03-16 17:50 806 查看
- (UIViewController *)getCurrentVC
{
UIViewController * curVC = 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]])
{
curVC = nextResponder;
}
else
{
UIViewController * appRootVC = window.rootViewController;
UIViewController * topVC = appRootVC;
curVC = topVC;
if (topVC.presentedViewController)
{
curVC = topVC.presentedViewController;
}
}

return curVC;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: