2011-12-22 199 views
0

我在我的应用程序中有一个登录视图,它在用户输入正确的用户名和密码后加载主菜单视图。我用这个去主功能表视图:注销按钮navigationController问题导航栏

MenuViewController *menuViewController=[[MenuViewController alloc] initWithNibName:@"MenuViewController" bundle:nil]; 
     [email protected]"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

虽然它从你的问题不明确,通过您的应用程序的具体流程是什么,你当然不应该添加navController视图作为一个子视图。

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

在您的登录视图控制器中创建一个委托协议,并将主菜单作为委托。当他们登录时,委托方法触发,主菜单关闭登录视图。当他们注销时,主菜单可以再次呈现登录视图。