2011-12-24 107 views
0

我已經實現了一個UITabBar程序完全按照蘋果推薦的方式,我不能顯示標題。下面是我如何實現它: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; 
    } 

我發現有一堆的這個其他問題,以及一些有hacky類型的解決方案,但我想知道如果蘋果推薦這種方式,爲什麼它不工作?

+0

嘗試使用viewDidLoad編寫您在init方法中編寫的代碼。它應該工作。或者當你分配mainViewController時。像[mainViewController setTabBarItem:...] – 2011-12-24 05:10:13

回答

1

這可以通過各種方式完成。最簡單的一種是嘗試設置

self.title = @"Main"; 

這應該反映在您的navigationBar標題和tabBarItem稱號。 或者,您可以將它們連接到界面構建器並自行輸入並正確連接插座。