2011-12-24 4 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, где я добавить название:

@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; 
    } 

я заметил, есть куча других вопросов на этом, а некоторые есть хакеры типа решений, но мне интересно, если Apple рекомендует этот путь, почему это не работает?

+0

Попробуйте написать код, который вы написали в методе init в viewDidLoad. Он должен работать. Или когда вы назначаете mainViewController. Как [mainViewController setTabBarItem: ...] –

ответ

1

Это может быть сделано различными способами. Самый простой из них заключается в попытке установки

self.title = @"Main"; 

Это должно быть отражено как в вашей navigationBar титул и tabBarItem титул. Или вы можете просто подключить их к построителю интерфейса и набрать его самостоятельно и правильно подключить розетки.

Смежные вопросы