iOS 获取当前ViewController

简介: iOS 获取当前ViewController
+ (UIViewController *)findCurrentViewController {
    UIWindow *window = [[UIApplication sharedApplication].delegate window];
    UIViewController *topViewController = [window rootViewController];
    while (true) {
        if (topViewController.presentedViewController) {
            topViewController = topViewController.presentedViewController;
        } else if ([topViewController isKindOfClass:[UINavigationController class]] && [(UINavigationController*)topViewController topViewController]) {
            topViewController = [(UINavigationController *)topViewController topViewController];
        } else if ([topViewController isKindOfClass:[UITabBarController class]]) {
            UITabBarController *tab = (UITabBarController *)topViewController;
            topViewController = tab.selectedViewController;
        } else {
            break;
        }
    }
    return topViewController;
}
目录
相关文章
|
iOS开发 索引
IOS中UIActionSheet使用详解
IOS中UIActionSheet使用详解
298 0
|
iOS开发
iOS中UITextView方法解读
iOS中UITextView方法解读
266 0
|
iOS开发
iOS 文件模板(.xctemplate)ViewController.m
前言 为了使项目整体代码更加简洁,易读,多人开发时不仅能再代码规范上有一套规范,以及最常见的 ViewController 情况允许的情况下, 尽量保持一套发放调用排序, 这样我们在后期维护 Review 起来会非常轻松。
1373 0
|
开发工具 iOS开发 Web App开发
|
iOS开发 Swift 缓存
iOS - UIViewController
前言 NS_CLASS_AVAILABLE_IOS(2_0) @interface UIViewController : UIResponder @available(iOS 2.0, *) public class UIViewController : UIResponder, NSCoding, UIAppearanceContainer, UITraitEnvironment, UIContentContainer, UIFocusEnvironment 视图控制器负责页面的创建、事件处理等。
1436 0