사용자가 허용하는 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