Изменить текст TabBarItem в приложении WindowBased - PullRequest
0 голосов
/ 28 февраля 2011

Я создаю приложение на основе окон (назовем его TabBar). В TabBarAppDelegate я создаю два UIViewController и один UITabBarController.

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    UIViewController *vc1 = [[UIViewController alloc]
initWithNibName:@"MyFirstViewController" bundle:nil];

    UIViewController *vc2 = [[UIViewController alloc]
initWithNibName:@"MySecondViewController" bundle:nil];

    NSArray *contr = [NSArray arrayWithObjects:vc1, vc2, nil];
    UITabBarController *tbc = [[UITabBarController alloc] init];
    tbc.viewControllers = contr;
    [self.window addSubview:tbc.view];
    [self.window makeKeyAndVisible];
    [vc1 release]; [vc2 release];
    return YES;
}

В MyFirstViewController.xib я создаю uilabel (используя IB для проверки загрузки этого представления) и для MySecondViewController.xib тоже.

И приложение успешно собирается и запускается, но уитаббаритем - без изображения и заголовка. Я пытался добавить в MyFirstViewController.m эти строки для установки заголовка и изображения MyFirstViewController

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        UITabBarItem *item = [[UITabBarItem alloc] 
initWithTitle:@"first" image:[UIImage imageNamed:@"first.png"] tag:0];

        self.tabBarItem = item;
        [item release];
    }
    return self;
}

Но первый таббаритем не меняется. Помоги мне, пожалуйста. Я не понимаю, что я делаю не так.

1 Ответ

0 голосов
/ 03 марта 2011

Ответ

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // Override point for customization after application launch.
    <b>MyFirstViewController</b> *vc1 = [[<b>MyFirstViewController</b> alloc]
initWithNibName:@"MyFirstViewController" bundle:nil];

    <b>MySecondViewController</b> *vc2 = [[<b>MySecondViewController</b> alloc]
initWithNibName:@"MySecondViewController" bundle:nil];

    NSArray *contr = [NSArray arrayWithObjects:vc1, vc2, nil];
    UITabBarController *tbc = [[UITabBarController alloc] init];
    tbc.viewControllers = contr;
    [self.window addSubview:tbc.view];
    [self.window makeKeyAndVisible];
    [vc1 release]; [vc2 release];
    return YES;
}
...