来自app delegate的故事板视图控制器?

Ste*_*her 11 ios uistoryboard

我有一个视图控制器子类,SignInViewController用于登录,可能随时需要.而不是让我的应用程序中的每个视图控制器都听取需要登录的通知,我宁愿让应用程序代理执行此操作.

但是如何从我的应用代表中触发它呢?

我把它SignInViewController放在我的主要故事板中吗?如果是这样,我如何从我的应用代表访问我的故事板?还是其他一些方法更好?

end*_*ndy 24

您始终可以通过UIApplication单例引用您的应用程序委托.从那里你总是可以得到你的根视图控制器.使用根视图控制器,您可以获得对故事板的引用.

一旦你有了故事板,你所做的就是实例化你想要的视图控制器的一个实例.介绍它.

AppDelegate* appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
MainViewController *mvc = (MainViewController *)appDelegate.window.rootViewController;    
LoginViewController *lvc = [mvc.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
[currentVC presentModalViewController:lvc animated:YES];
Run Code Online (Sandbox Code Playgroud)

可能有一种更直接的方式来获取对故事板的引用,但这几乎总能为您提供.

  • 但是他询问是否在appDelegate"之前"进入我打赌的任何视图控制器 (5认同)