私は6から7個のタブを持つタブバーコントローラを用意しています。これは、カスタマイズが許可されているため(ユーザーがタブバー表示の順序を変更できることを意味します)。また、タブ1,3,5,7では、ビュー上のコンテンツを見る前にユーザーがログインする必要があります。iOS - UITabBarControlerのベストプラクティスでのログインビュー
どのタブバーにログインアクセスが必要なのかわかりません(@protocalなどを作成できますか)。ユーザーが正常にログインした後。ユーザーが触れた最後のタブバーを選択する方法がわかりません。
は 私はAppDelegate-(BOOL)tabBarController:(UITabBarController *)aTabBar shouldSelectViewController:(UIViewController *)viewController {
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
BOOL hasValidLogin = [standardUserDefaults boolForKey:@"hasValidLogin"];
if (hasValidLogin == NO && /* I don't know to find a controller which requires login access*/) {
[LoginView showModal:viewController delegate:self];
return NO;
}
return YES;
}
プラグママークにUITabBarControllerDelegateにconfimingによりappdelegate使用していた
- プラグママークLoginDelegate methods-
-(void)loginViewController:(LoginView *)loginViewController didLoginSuccess:NSString *)userName {
NSLog((@"%s [Line %d] "), __func__, __LINE__);
NSLog(@"userName = %@", userName);
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];
[standardUserDefaults setBool:YES forKey:@"hasValidLogin"];
[standardUserDefaults synchronize];
[self.tabBarController setSelected:/* How do i find the last touched tabbar*/];
}
どれでも良い習慣、レシピやコードスニペットあなたは私が指示することができます感謝。
私はマットのiOSレシピを読んでいました。しかし、私はこれに関連するものは何も見つかりませんでした。
ありがとうございました!これを行うのが好ましい方法ですか?この機能を実行する他の方法はありますか? – mohan
ありがとうピーター!これを行うのが好ましい方法ですか?この機能を実行する他の方法はありますか?そして、私があなたが「 - NSInternalInconsistencyException」というメッセージを表示しているのを踏襲しようとすると、「タブバーコントローラによって管理されるタブバーのデリゲートを変更することはできません。 ***最初のスローでコールスタック: " – mohan
私は同じ問題に遭遇しました。誰でも手伝うことができます。 – VvDPzZ