有没有办法在不知道可见 View Controller View 是什么的情况下模态地显示 View Controller ?基本上有点像您将在任何时间点显示警报 View 。

我希望能够执行以下操作:

MyViewController *myVC = [[MyViewController alloc] init];
[myVC showModally];

我希望能够从应用程序中的任何位置调用此函数,并将其显示在顶部。我不想关心当前的 View Controller 是什么。

我打算用它来显示登录提示。我不想使用警报 View ,也不想在整个应用程序中使用登录演示代码。

有什么想法吗?还是有更好的方法来实现这一目标?我是否应该实现自己的机制并在窗口顶部放置一个 View ?

最佳答案

好吧,您可以遵循链条。

[UIApplication sharedApplication].delegate.window.rootViewController开始。

在每个 View Controller 上,执行以下一系列测试。

如果是[viewController isKindOfClass:[UINavigationController class]],则继续进行[(UINavigationController *)viewController topViewController]

如果是[viewController isKindOfClass:[UITabBarController class]],则继续进行[(UITabBarController *)viewController selectedViewController]

如果是[viewController presentedViewController],则继续进行[viewController presentedViewController]

10-07 16:01