//获取当前屏幕显示的viewcontroller
+(UIViewController *)getCurrentWindowVC
{
UIViewController *result = nil;
UIWindow * window = [[UIApplication sharedApplication] keyWindow];
if (window.windowLevel != UIWindowLevelNormal)
{
NSArray *windows = [[UIApplication sharedApplication] windows];
for(UIWindow * tempWindow in windows)
{
if (tempWindow.windowLevel == UIWindowLevelNormal)
{
window = tempWindow;
break;
}
}
}
UIView *frontView = [[window subviews] objectAtIndex:0];
id nextResponder = [frontView nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]])
{
result = nextResponder;
}
else
{
result = window.rootViewController;
}
return result;
}
这段代码是一个Objective-C方法,用于获取iOS设备上当前显示的UIViewController。首先,它找到主窗口,然后检查其子视图以确定最前面的视图。如果nextResponder是UIViewController的实例,那么返回该响应者,否则返回窗口的rootViewController。
422

被折叠的 条评论
为什么被折叠?



