0

ログインページをモーダルビューコントローラーとして事前設定しているタブバーアプリケーションを開発しています。後でページからログインした後、TabBar を表示しています。タブの1つに、ログアウトしてアプリケーションをログインページにリダイレクトするLogOut Viewコントローラーがあります。ロードされたデータをすべて削除してから、再ログインするときに入力したデータで再ログインする必要があります。私はたくさん検索しましたが、これに関する助けを見つけることができませんでした。この機能を実装する方法を教えてください。

4

1 に答える 1

1

ログインビューをmodelviewとして表示している場合は、問題ありません。ユーザーが正常にログアウトしたときに、これを再度実行できます。ログインページをもう一度表示して表示するだけです。

しかし、私の提案は、アプリのルートビューとしてログインし、アプリデリゲートをチェックインして、ユーザーがすでにログインしている場合はアプリのメインページを参照するか、ログインページを参照することをお勧めします。ログアウトボタンで、jstpopからログインビューコントローラに移動します。ルートビューコントローラーです

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 に答える