0

我想用登录页面实现应用程序。

我有基于 UIViewController 和 xib 文件的单独授权页面,用户应该在加载应用程序时首先看到该页面,并且我在 MainStoryboard.storyboard 中有基于 UITabBarController 的主应用程序,用户应该在成功登录后重定向。

要使用我在 AppDelegate.m 中执行的登录页面启动应用程序

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

        NewUserViewController *controller = [[NewUserViewController alloc] init];
        self.window.rootViewController = controller;

        [self.window makeKeyAndVisible];

登录成功后如何从 NewUserViewController 切换到 UITabBarController?

我尝试(在 NewUserViewController.m 中)

MainTabBarViewController *myViewController = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:NULL] instantiateViewControllerWithIdentifier:@"MainTabBarViewController"];

[self.navigationController pushViewController:myViewController animated:YES];

如果你能提供这个应用程序的另一种结构,我会很高兴!

对不起我的英语。

4

1 回答 1

1

您无法推送到标签栏控制器,因为它没有嵌入导航控制器中。我认为更好的结构是使标签栏控制器成为窗口的根控制器,然后在第一个标签中从控制器的 viewDidAppear 方法模态显示您的登录控制器。如果登录成功,只需关闭登录控制器,就可以开始了。如果登录失败,则显示另一个视图,向用户解释发生了什么,然后返回登录控制器再次尝试。

于 2012-12-20T04:08:09.467 回答