2011-12-14 25 views
2

UIViewControllerクラスのアプリケーションデリゲートに統合するにはどうすればよいですか?私はログインビューを作ろうとしていたのですが、その後にUIViewControllerクラスで作成されたUITabBarControllerが表示されますか?誰でも何をする必要があるのか​​を提案できますか?ログインが行われたときに感謝UIViewController内のUIViewController内にUitabbarcontrollerがありません

答えて

1

あなたはまだ、アプリケーションの委任にUITabBarControllerを置くことができ、単にアプリのデリゲートを伝え、それらを切り替える:

self.window.rootViewController = tabBarController。あなたのアプリケーションは、ナビゲーションベースのアプリケーションであれば

+0

あなたはその先生のためのソースコードがありますか?ありがとう – Jahn

+1

あなたはコードを必要としない、理解する必要があります。 AppDelegateに2つのIBOUtletを用意してください。 1つはログインUIViewController用、もう1つは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

関連する問題