1

UITabBarと一緒に使っUITabBarItemsています。UITabBarItemに割り当てる前にtabBarItemのバッジ値を設定できますtabBar。しかし、私の問題は、のバッジ値を更新できないことですtabBarItem

最初にバッジの値を設定できるコードは次のとおりです。

// array of tabBarItems
NSMutableArray * tabs = [[NSMutableArray  alloc] init];

for(iterates few times)
{
    [tabs addObject:[[UITabBarItem alloc] initWithTitle:firstName image:nil tag:i]];
    // set tabItem's property
    [(UITabBarItem *)[tabs objectAtIndex:i] setFinishedSelectedImage:[self convertImage:iconImage toSize:CGSizeMake(iconWidth, TAB_ICON_HEIGHT)] withFinishedUnselectedImage:[self convertImage:iconImage toSize:CGSizeMake(iconWidth, TAB_ICON_HEIGHT)]];
    [[tabs objectAtIndex:0] setBadgeValue:[NSString stringWithFormat:@"%d", 2]];
}
// setting items of UITabBar
[self.chatTabBar setItems:tabs];

ここでは、バッジの値を更新しようとしています。したがってNSLog、新しいバッジの値を入力すると、更新された値が表示されますが、UI には変化が見られません。

[[self.chatTabBar.items objectAtIndex:0] setBadgeValue:[NSString stringWithFormat:@"%d", 1]];
4

2 に答える 2

5

それを試してみてください:

UIViewController *carrinhoVC = [self.tabBarController.viewControllers objectAtIndex:0];

            carrinhoVC.tabBarItem.badgeValue = [NSString stringWithFormat:@"%d", 1];

carrinhoVC は、TabBar 内のバッジ値を更新する UIViewController です。

于 2013-05-06T10:57:40.180 に答える
1

このコードは私のために働いた:

if let tabBar = UIApplication.shared.keyWindow?.rootViewController as? UITabBarController,
    let tabBarItem = tabBar.tabBar.items?[1] {
    tabBarItem.badgeValue = nil
}
于 2016-10-05T08:19:30.240 に答える