我正在读取包含40多个ViewController的应用程序的代码。您怎么知道哪个是ViewController是当前的。

我尝试过的


CBIntrospect:使用执行
消息:UIAlertView?
看着添加
要在视图中使用NSStringFromClass([self class])并采取某种方法的东西
控制器是管道传输的?
使用NotificationCenter动态添加
方法?


任何想法表示赞赏

最佳答案

尝试这个:

- (UIViewController *)topViewController
{
    return [self topViewController:self.window.rootViewController];
}


- (UIViewController *)topViewController:(UIViewController *)viewController
{
    if (viewController.presentedViewController == nil) {
        return viewController;
    }

    if ([viewController.presentedViewController isKindOfClass:[UINavigationController class]]) {
        UINavigationController *navigationController = (UINavigationController *) viewController.presentedViewController;
        UIViewController       *topViewController    = [navigationController.viewControllers lastObject];
        return [self topViewController:topViewController];
    }

    UIViewController *presentedViewController = viewController.presentedViewController;
    return [self topViewController:presentedViewController];
}

关于ios - 显示顶部ViewController,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22380082/

10-09 16:19