有没有办法在不知道可见 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]
。