我正在开发一个 tabBar 应用程序,我将登录页面预设为 modalviewcontroller。稍后从页面登录后,我将显示 TabBar。在其中一个选项卡中,我有我的 LogOut View 控制器,我想在其中注销并反过来将应用程序重定向到登录页面。我需要删除所有加载的数据,然后在我再次重新登录时使用输入的数据重新登录。我进行了很多搜索,但找不到任何帮助。有人可以帮助我如何实现此功能吗?
问问题
356 次
1 回答
1
如果您将登录视图显示为模型视图,那么没问题。当您的用户成功登出时,您可以再次执行此操作。只需再次显示登录页面即可。
但我的建议是,您应该以应用程序的根视图登录并签入应用程序委托,如果用户已经登录,则请参阅您的应用程序主页,否则请参阅登录页面。在注销按钮处,jst 弹出登录视图控制器。这是根视图控制器
if([[DataModel sharedDataModel] getValueForKey:USER_SESSION_ID]!=nil) { objLoginController=[[LoginController alloc] initWithNibName:@"LoginController" bundle:nil];
UINavigationController *temp=[[UINavigationController alloc] initWithRootViewController:objLoginController];
self.mNavigationController=temp;
[temp release];
[objLoginController release];
objLoginController = nil;
if(objHomeController==nil)
{
objHomeController=[[HomeController alloc] initWithNibName:@"HomeController" bundle:nil];
}
[self.mNavigationController pushViewController:objHomeController animated:NO];
[objHomeController release];
objHomeController=nil;
[mNavigationController setDelegate:self];
mNavigationController.navigationBar.hidden=TRUE;
[self.view addSubview:mNavigationController.view];
}
else
{
objLoginController=[[LoginController alloc] initWithNibName:@"LoginController" bundle:nil];
UINavigationController *temp=[[UINavigationController alloc] initWithRootViewController:objLoginController];
self.mNavigationController=temp;
[temp release];
[objLoginController release];
objLoginController = nil;
[mNavigationController setDelegate:self];
//mNavigationController.navigationBar.hidden=TRUE;
//[mNavigationController setNavigationBarHidden:NO animated:YES];
[self.view addSubview:self.mNavigationController.view];
}
于 2012-05-25T06:50:52.927 回答