2011-12-24 122 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称号。 或者,您可以将它们连接到界面构建器并自行输入并正确连接插座。