如何加载新视图并从那里开始导航?

时间:2010-06-20 07:50:26

标签: iphone objective-c uinavigationcontroller

我一直在谷歌上搜索这几天,我正在试着让它发挥作用。在我的应用程序中,加载的第一个视图是一个具有登录和注册按钮的视图。按登录按钮调用

- (IBAction)login:(UIButton *)sender {
  LoginViewController *loginView = [[LoginViewController alloc] initWithNibName:@"LoginView" bundle:nil];
  [self presentModalViewController:loginView animated:YES];
  [loginView release];
}

其中提供了登录表单。在用户登录后,我想关闭模态视图(我已经实现了),然后用一个全新的视图/视图控制器用登录和注册按钮替换视图,并使用 是UINavigationController的根控制器。然后继续。

我该如何实现?谢谢!

编辑:我最终开始使用基于标签栏的应用程序,每个选项卡都有导航控制器(这解决了我的其他问题),并在处理应用程序的主要部分后处理登录部分。启动后,我将检查用户是否已登录,如果没有,则以模态方式显示登录视图但没有动画。

2 个答案:

答案 0 :(得分:1)

我刚刚重新阅读了您的问题,我错过了关于它是导航控制器中的根控制器的部分。也许你可以更换导航控制器?或者甚至在您真正需要它之前甚至不使用导航控制器?

答案 1 :(得分:0)

为什么不在登录root之后创建视图,而是在应用程序启动时调用[self.navigationItem setHidesBackButton:YES];,然后按下您的登录视图(不是动画)。然后显示模态视图控制器,当登录完成后,关闭模态视图控制器并使用登录/注册按钮在视图上调用[self.navigationController popToRootViewControllerAnimated:NO];