カスタマイズが許可された6〜7個のタブを持つタブバーコントローラーがあります(ユーザーがタブバー表示の順序を変更できることを意味します)。また、タブ 1、3、5、7 では、ビューにコンテンツを表示する前に、ユーザーがログイン アクセスする必要があります。
ログイン アクセスが必要なタブバーを特定する方法がわかりません (@protocal などを作成できますか)。そして、ユーザーが正常にログインした後。ユーザーが最後に触れたタブバーを選択する方法がわかりません。
AppDelegate の UITabBarControllerDelegate に確認して 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;
}
pragma mark - pragma mark LoginDelegate メソッド-
-(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 レシピを読んでいました。しかし、これに関連するものは見つかりませんでした。