2011-12-24 52 views
0

プログラムでUITabBarをプログラムで実装しましたが、Appleが推奨する方法と同じです。タイトルが表示されません。ここで私はそれを実装しています方法です:UITabBarタイトルが表示されない

ここ
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    UITabBarController *tabBarController = [[UITabBarController alloc] init]; 

    MainViewController *mainViewController = [[MainViewController alloc] init]; 
    UINavigationController *mainNavigationController = [[UINavigationController alloc] initWithRootViewController: mainViewController]; 
    [[mainNavigationController navigationBar] setBarStyle: UIBarStyleBlack]; 

    [tabBarController setViewControllers: [NSArray arrayWithObjects: mainNavigationController, nil]]; 

    [self.window setRootViewController: tabBarController]; 
    [self.window makeKeyAndVisible]; 

    [mainViewController release]; 
    [mainNavigationController release]; 

    [tabBarController release]; 

    return YES; 
} 

は私がタイトルを追加mainViewControllerのinitメソッドである:

@implementation MainViewController 

    - (id) init 
    { 
     self = [super initWithNibName: nil bundle: nil]; 

     if (self) 
     { 
      UITabBarItem *tabBarItem = [[UITabBarItem alloc] initWithTitle:@"Main" image: nil tag: 1]; 
      [self setTabBarItem: tabBarItem]; 
      [tabBarItem release]; 
     } 

     return self; 
    } 

私はこの上の他の質問の束がある気づいた、といくつかのハッキータイプのソリューションを持っているが、私はアップルがこの方法を推奨しているのだろうと思っている。

+0

initメソッドで作成したコードをviewDidLoadに書き込んでみてください。それは動作するはずです。または、mainViewControllerを割り当てるときです。 [mainViewController setTabBarItem:...]のように –

答えて

1

これはさまざまな方法で行うことができます。最も簡単な1これはあなたのnavigationBarタイトルとtabBarItemタイトルの両方に反映されるべき

self.title = @"Main"; 

を設定しようとすることです。 または、インターフェイスビルダーに接続して自分で入力し、コンセントを適切に接続するだけです。

関連する問題