Установить заголовок / значок и т. Д. Для TabBarItem, созданного в IB, через код? - PullRequest
1 голос
/ 06 сентября 2011

У меня есть TabBar, который я создал через IB, я выбрал «Создать новый проект» -> «Приложение панели вкладок». Есть ли способ для меня получить доступ к одному из TabBarItems для настройки через код?

Мне кажется, что-то вроде: [[self.tabBarController.tabBar.items objectAtIndex:0] setTitle:@"Button one"]; следует установить заголовок этого элемента на «Кнопка 1», но это не так. Сам заголовок не является проблемой (я могу установить это через IB также), однако добавление Icon выглядит следующим образом.

Итак, подытожив, я действительно хочу знать следующее: есть ли способ добавить Icon в TabBarItem, созданный через IB?

РЕШЕНИЕ: Добавление в viewDidLoad в первом представлении, загружается автоматически при запуске приложения:

UITabBarController *tb = [self tabBarController];
[[tb.tabBar.items objectAtIndex:1] setTitle:@"Title"];

Позвольте мне установить заголовок второй кнопки (objectAtIndex: 1). Я также смог установить изображение таким же образом, который также работал для кнопок одна (objectAtIndex: 0) и три (objectAtIndex: 2).

Ответы [ 3 ]

1 голос
/ 06 сентября 2011

Вы должны иметь возможность установить свойства изображения и заголовка в TabBarItems:

UITabBarItem *item = (UITabBarItem *)[tabBarController.tabBar.items objectAtIndex:0];
item.image = [UIImage imageNamed:@"home.png"];

Не забывайте, что UITabBar использует альфа-значения только из изображения, которое вы установили, поэтому, если у вас нет альфа-канала на изображении, вы можете ничего не увидеть, если вы установите изображение на элемент панели вкладок .

1 голос
/ 06 сентября 2011

Добавьте это к вашему viewDidLoad: метод одного из tabBar viewControllers, и он должен работать:

- (void)viewDidLoad
{
    [super viewDidLoad];


    //Get the tabBarItem
    UITabBarItem *tbi = [self tabBarItem];

    //Give it a lable
    [tbi setTitle:@"Title A"];

    //create a image from a file for the tabBar
    UIImage *i = [UIImage imageNamed:@"NiceImage.png"];
    //and put it on the tabBar
    [tbi setImage:i];

}
0 голосов
/ 06 сентября 2011

Я никогда не создавал панель вкладок через IB (всегда через код), однако для установки заголовка и значка я использую

controller.title = @"Controller";
controller.tabBarItem.image = [UIImage imageNamed:@"image.png"];

, где controller - это UIViewController, добавленное к массиву viewControllers 'UITabBarController.

...