0

我正在开发一个 tabBar 应用程序,我将登录页面预设为 modalviewcontroller。稍后从页面登录后,我将显示 TabBar。在其中一个选项卡中,我有我的 LogOut View 控制器,我想在其中注销并反过来将应用程序重定向到登录页面。我需要删除所有加载的数据,然后在我再次重新登录时使用输入的数据重新登录。我进行了很多搜索,但找不到任何帮助。有人可以帮助我如何实现此功能吗?

4

1 回答 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 回答