iOS开发 获取当前视图最顶层的ViewController
2017-08-05 15:08
417 查看
获取当前视图最顶层的ViewController
+ (UIViewController *)currentViewController { 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; } } } UIViewController *currentVC = window.rootViewController; while (currentVC.presentedViewController) { currentVC = currentVC.presentedViewController; } if ([currentVC isKindOfClass:[UITabBarController class]]) { currentVC = [(UITabBarController *)currentVC selectedViewController]; } if ([currentVC isKindOfClass:[UINavigationController class]]) { currentVC = [(UINavigationController *)currentVC topViewController]; } return currentVC; }
相关文章推荐
- 【iOS开发】获取当前view(视图)所在的Controller(控制器)
- iOS开发 - 获取当前View最顶层的ViewController
- iOS 获取当前最顶层的ViewController
- iOS开发 获取当前正在显示的ViewController(包含Push的和presented的)
- iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍)
- IOS开发 获取当前视图所在的类名
- iOS 获取当前正在显示的ViewController或者当前的PresentedViewController
- iOS开发笔记之ViewController视图控制器间的跳转
- iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍)
- 自学iOS开发系列----UI(视图编程入门:ViewController、UIImageView、UILabel)
- 转载 iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍)
- iOS开发中如何在View视图中获取到该视图的控制器
- [iOS 获取当前窗口导航控制器中栈顶viewController] 不普遍适用
- ios 开发日记 13-剖析网易新闻标签栏视图切换(addChildViewController属性介绍)
- iOS 获取当前的ViewController
- iOS开发 控件不能绑定拖动到视图ViewController连接的解决方法
- iOS 利用visibleViewController和topViewController获取当前显示的页面区别
- 获取iOS应用中当前处于Activity状态的ViewController
- iOS 获取当前最上层ViewController
- iOS 获取当前的ViewController的方法