UITabBar标题不显示

时间:2011-12-24 05:04:55

标签: iphone objective-c ios cocoa-touch 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;
    }

我注意到这里有很多其他问题,而且有一些有hacky类型的解决方案,但我想知道Apple是否推荐这种方式,为什么它不起作用?

1 个答案:

答案 0 :(得分:1)

这可以通过多种方式完成。最简单的方法是尝试设置

self.title = @"Main";

这应该反映在您的navigationBar标题和tabBarItem标题中。 或者,您可以将它们连接到界面构建器并自行键入并正确连接插座。