2011-12-14 2 views

답변

1

당신은 여전히 ​​앱 위임에 UITabBarController을 넣을 수 있습니다, 로그인이 완료되면, 바로 애플 대리자에게, 그리고 스위치 그들 :

self.window.rootViewController = tabBarController; 응용 프로그램 탐색 기반 응용 프로그램의 경우

+0

해당 소스에 대한 소스 코드가 있습니까? 감사합니다 – Jahn

+1

당신은 코드가 필요하지 않습니다, 당신은 이해해야합니다. AppDelegate에 두 개의 IBOUlet을 보유하십시오. 하나는 로그인 UIViewController 용이고 다른 하나는 UITabBarController 용입니다. 처음에는 로그인을하십시오. UIViewController에 rootViewController가 있습니다. 작업을 마쳤 으면 UITabBarController의 rootViewController를 전환하십시오. – Peres

+0

UITabBarcontroller는 rootViewController 만 될 수 있습니다. Apple은 tabBarController를 다른 컨트롤러의 자식으로 사용할 수 없도록합니다. 따라서 Jacky Boy가 말한 것처럼 첫 번째 옵션은 tabBarController에 대한 자식보기 (모달 또는 다른 방법)로 로그인보기를 사용하는 두 번째 옵션 일 수 있습니다. – ader

-2

여기에서 configureMessagesTabBArController 방법이며, 다음 (추가 할 얼마나 많은 ViewControllers와) TabBarController를 만들고이

UITabBarController *tabBarController = [Utility configureMessagesTabBArController]; 
self.navigationController.navigationBarHidden=YES; 
[self.navigationController pushViewController:tabBarController animated:YES]; 
[tabBarController release]; 

처럼, 네비게이션 컨트롤러에 추가 유틸리티 클래스

+(UITabBarController *)configureMessagesTabBArController 
{ 
    UITabBarController *tabBarController = [[UITabBarController alloc]init]; 

    AktuellesViewController *aktuelles_Controller = [[AktuellesViewController alloc]init]; 
    TermineViewController *termine_Controller = [[TermineViewController alloc]init]; 
    TopTenViewController *topTen_Controller = [[TopTenViewController alloc]init]; 
    MediathekViewController *mediathek_Controller = [[MediathekViewController alloc]init]; 
    KontaktViewController *kontakt_Controller = [[KontaktViewController alloc] init]; 

    UINavigationController *nav1 = [[UINavigationController alloc]initWithRootViewController:aktuelles_Controller]; 
    UINavigationController *nav2 = [[UINavigationController alloc]initWithRootViewController:termine_Controller]; 
    UINavigationController *nav3 = [[UINavigationController alloc]initWithRootViewController:topTen_Controller]; 
    UINavigationController *nav4 = [[UINavigationController alloc]initWithRootViewController:mediathek_Controller]; 
    UINavigationController *nav5 = [[UINavigationController alloc]initWithRootViewController:kontakt_Controller]; 

    nav1.navigationBar.tintColor = [UIColor blackColor]; 
    nav2.navigationBar.tintColor = [UIColor blackColor]; 
    nav3.navigationBar.tintColor = [UIColor blackColor]; 
    nav4.navigationBar.tintColor = [UIColor blackColor]; 
    nav5.navigationBar.tintColor = [UIColor blackColor]; 

    [tabBarController setViewControllers:[[NSArray alloc]initWithObjects:nav1,nav2,nav3,nav4,nav5,nil]]; 

    [nav1 release]; 
    [nav2 release]; 
    [nav3 release]; 
    [nav4 release]; 
    [nav5 release]; 

    [aktuelles_Controller release]; 
    [termine_Controller release]; 
    [topTen_Controller release]; 
    [mediathek_Controller release]; 
    [kontakt_Controller release]; 

    return tabBarController; 
} 
+0

첫째, 위 질문은 원래 질문에 대답하지 않습니다. 두 번째로 텍스트는 코드가하는 것을 정확히 말하지 않는다. 이 코드는 네비게이션 컨트롤러를 다른 방향으로 탭에 추가합니다. – ader

관련 문제