我的应用程序中有一个登录 View ,它会在用户输入正确的用户名和密码后加载主菜单 View 。我正在使用它进入主菜单 View :
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 个导航栏,并且它们每次都相互堆积。有什么办法可以阻止这种情况发生吗?因为,我的登录页面不应该有导航栏。
提前致谢
最佳答案
虽然从您的问题中不清楚通过您的应用程序的确切流程是什么,但您当然不应该将 navController View 添加为 subview 。
最好将主菜单作为主窗口的 rootViewController,然后在其上显示登录 View Controller (使用 presentModalViewController:
)。
在您的登录 View Controller 中创建一个委托(delegate)协议(protocol),并使主菜单成为委托(delegate)。当他们登录时,委托(delegate)方法会触发,主菜单会关闭登录 View 。当他们注销时,主菜单可以再次呈现登录 View 。
关于ios - 导航栏的注销按钮 navigationController 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8602435/