Iphone code - изменить значение значка tabBar из viewController
У меня есть UITabBarController
,
Как я могу создать/обновить badge value
элемента tabBar из моего viewController
?
Элемент tabBar
, созданный в ib.
Я подключил элемент tabBar к контроллеру с помощью IBOutlet UITabBar *tabBar
.
спасибо.
Ответы
Ответ 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];
Ответ 5
Вот пример кода для него вкладка с знаковым значением