如果您将登录视图显示为模式视图, 那么没有问题。 当用户成功登录退出时, 您可以再次这样做 。 只要通过再次显示登录页面, 显示登录页面 。
但我建议您将登录作为应用程序的根视图, 并在 App 代表中检查, 如果用户已经登录, 那么请参考您应用程序的主页 。 在登录按钮上, jst 弹出到登录视图控制器 。 这是 root 视图控制器 。
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];
}