注销按钮navigationController导航栏问题

时间:2011-12-22 10:17:24

标签: ios uinavigationcontroller uinavigationbar logout

我的应用程序中有一个登录视图,在用户输入正确的用户名和密码后加载主菜单视图。我正在使用它进入主菜单视图:

MenuViewController *menuViewController=[[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil];
        menuViewController.title=@"Felton";
        UINavigationController *tnavController=[[UINavigationController alloc] initWithRootViewController:menuViewController];
        tnavController.view.frame=CGRectMake(0, 0, 1024, 748);
        [menuViewController release];
        self.navController=tnavController;
        [navController release];
        for(UIView *subview in self.view.subviews)
        {
            [subview removeFromSuperview];
        }
        [self.view addSubview:self.navController.view];

所以我的问题是,当按下注销按钮时,我将如何返回登录页面。我尝试过与上面相同的方法,但我遇到的问题是,每次用户按下注销按钮时,登录页面都会有1个导航栏,每次都会相互堆叠。有什么方法可以阻止这种情况发生吗?因为,我的登录页面不应该有导航栏。

提前

thanx

1 个答案:

答案 0 :(得分:1)

虽然从您的问题中不清楚您的应用程序的确切流程是什么,但您当然不应该将navController视图添加为子视图。

您最好将主菜单作为主窗口的rootViewController,然后在其上显示登录视图控制器(使用presentModalViewController:)。

在登录视图控制器中创建委托协议,并使主菜单成为委托。当他们登录时,会触发委托方法,主菜单会取消登录视图。当他们注销时,主菜单可以再次显示登录视图。