2009-05-09 13 views
0

私はナビゲーションコントローラベースのアプリケーションを持っていました。私はアプリケーションでタブバーを使うことにしました。UITabBarビュー

ユーザーが特定のタブバーの項目を押すと、特定のビューコントローラーを表示したいのですが、コード内にプログラムで表示するものを選択する必要があります。

Navigation ControllerをTab Barに追加するのに疲れましたが、View ControllerのviewWillAppearが呼び出されていません。

この機能はどのように実装できますか?

ありがとうございました。

答えて

1

「正しい方法」なのかどうかわかりませんが、通常は3つのタブでこれを行います。タブバーに使用されるアイコン、タブバーでタイトル、そしてあなたナビゲーション項目のタイトルを設定するには

[[self tabBarItem] setImage:[dataSource tabConImg]]; 
[[self tabBarItem] setTitle:[dataSource name]]; 
[[self navigationItem] setTitle:[dataSource navConName]]; 

:あなたのような何かを行うことができますinitメソッドごとのViewControllerで

- (void)initControls { 
    // Create the window. 
    [self setWindow:[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]]; 

    // Create Tab Bar. 
    tabCon = [[UITabBarController alloc] init]; 

    // Local array variable that holds the viewcontrollers. 
    // Capacity corresponds to the number of VC's 
    NSMutableArray *localVCArray = [[NSMutableArray alloc] initWithCapacity:3]; 

    MyFirstViewController *oneViewController = [[MyFirstViewController alloc] init]; 
    UINavigationController *oneNavCon = [[UINavigationController alloc] initWithRootViewController:oneViewController]; 
    [localVCArray addObject:oneNavCon]; 
    [oneViewController release]; 
    [oneNavCon release]; 

    MySecondViewController *twoViewController = [[MySecondViewController alloc] init]; 
    UINavigationController *twoNavCon = [[UINavigationController alloc] initWithRootViewController:twoViewController]; 
    [localVCArray addObject:twoNavCon]; 
    [twoViewController release]; 
    [twoNavCon release]; 

    MyThirdViewController *threeViewController = [[MyThirdViewController alloc] init]; 
    UINavigationController *threeNavCon = [[UINavigationController alloc] initWithRootViewController:threeViewController]; 
    [localVCArray addObject:threeNavCon]; 
    [threeViewController release]; 
    [threeNavCon release]; 

    // Set the tab bars array of view controllers to the localVCArray 
    [[self tabCon] setViewControllers:localVCArray animated:YES]; 

    // Release the localVCArray, all of its contents are now retained by tabCon. 
    [localVCArray release]; 

    // Add controls to window and show. 
    [window addSubview:[tabCon view]]; 
    [window makeKeyAndVisible]; 
} 

これが役に立ちます。

関連する問題