iOS //获取当前屏幕显示的viewcontroller
2016-02-22 11:08
429 查看
//获取当前屏幕显示的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;
}
- (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;
}
相关文章推荐
- iOS打包报Missing iOS Distribution signing identity问题解决
- iOS VoIP push and PushKit
- ios 历年wwdc
- 推送通知iOS客户端编写实现及推送服务器端编写
- iOS中程序代码存储区块
- iOS中block的使用注意
- iOS中POST上传文件的实现
- iOS压缩图片处理
- iOS9下更新项目遇到的问题
- 面向对象6
- AVAudioSession
- iOS Runloop的超级讲解
- [IOS 开发] self.myOutlet = nil 和 myOutlet = nil的区别
- iOS中复制对象的用法及深拷贝和浅拷贝详解
- iOS之相册实现
- iOS 取消tableviewcell 点击效果
- 第三方框架Cocoapod使用
- IOS开发过程常见警告解决方案归纳总结
- 2016年 iOS春节后证书无效
- Direct iCloud Access and iOS 9.3 Support