Подтвердить что ты не робот

Iphone code - изменить значение значка tabBar из viewController

У меня есть UITabBarController,

Как я могу создать/обновить badge value элемента tabBar из моего viewController?

Элемент tabBar, созданный в ib.

Я подключил элемент tabBar к контроллеру с помощью IBOutlet UITabBar *tabBar.

спасибо.

4b9b3361

Ответ 1

Если ваш контроллер представления уже имеет связанный с ним контроллер панели вкладок, вы можете просто перейти к элементу панели вкладок и установить его значок, например:

[[[[[self tabBarController] tabBar] items] 
                   objectAtIndex:tabIndex] setBadgeValue:badgeValueString];

где tabIndex - это индекс элемента табуляции, который вы хотите установить, и badgeValueString - это строковое значение, которое вы хотите установить на вкладке.

Ответ 2

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

[self.tabBarItem setBadgeValue:badgeValue];

Ответ 3

Если в вашем приложении First, Second и Third

есть три вкладки,

Индекс вкладки начинается с 0

First  tab index 0
Second tab index 1
Third  tab index 2

Если вы хотите установить значение значка 5 в Second вкладке

Итак, передайте 1 (индекс вкладки второй вкладки) для objectAtIndex:1 и передайте 5 (значение значка) для setBadgeValue:@"5"

[[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:@"5"];

Также вы можете удалить/удалить значение значка nil для промежуточной вкладки

[[self.tabBarController.tabBar.items objectAtIndex:1] setBadgeValue:nil];

Ответ 4

        int indexICareAbout = 2;
        NSString *badgeValue = @"10";

        [[[[[self tabBarController] viewControllers]
        objectAtIndex: indexICareAbout] tabBarItem] setBadgeValue:badgeValue];