次の問題があります。UITabBarControllerでログイン/ログアウトしますか?
気圧は、私は、ユーザーが次のコードでtabbarcontrollerに送信されtabbarcontroller.After検証にユーザーを送信しLoginViewあります。この後
-(void)userSuccessfullyLoggedIn{
[self.window setRootViewController:myTabBarController];
[myTabBarController setSelectedIndex:0];
[self.window makeKeyAndVisible];
}
を、ユーザーが正常に最初のビューに送信されますタブバーに表示されます。
タブバーの5番目の項目は、タブバーコントローラからLoginViewに戻ってユーザーを「ログアウト」するための空のビューを保持します。
-(void)userLogsOut{
[self.window setRootViewController:myLoginViewController]
[self.window makeKeyAndVisible];
}
そして今は、問題を記述するために、次のよう
// The following code intercepts the popup that confirms the "log out" dialog.
-(void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
// index 0 is the YesButton that is supposed to "log out" the user.
if (buttonIndex == 0)
{
myAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
[appDelegate userLogsOut];
}
else{
NSLog(@"The user chose not to logout. Passing the user to the first tab");
[[self myTabBarController] setSelectedIndex:0];
}
}
[デリゲートuserLogsOut]コードです。
ユーザーが再びログインし、最初のビューを保持する最初のタブに着いた場合を除いて、空のlogoutViewからのポップアップダイアログはどこにも表示されません。
最初のビューはバックグラウンドで表示され、ログアウトしないように選択した場合はダイアログが消え、この時点でYESを選択するとユーザーは再びログアウトします。
お読みいただきありがとうございました。ヒントや指針を高く評価します。前もって感謝します。
私は同様の問題 - ログインとタブバーコントローラを実装しようとしています。ログイン時にmyTabBarControllerをどこで定義しますか?私はストーリーボードを使用しています。ありがとう! – Dejell
'UITabBarController'は' UIApplicationDelegate'の中で定義されています。これはストーリーボードなしで作られました。 – doge