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