【发布时间】:2011-09-25 02:51:30
【问题描述】:
我正在制作一个 iOS 应用程序,它有一个 tabBarController,有超过 5 个选项卡。因此,前四个是可直接点击的,其余的位于 MORE 选项卡下。
如果此 MORE 选项卡中隐藏的选项卡有任何标记,我想在 MORE 选项卡上显示标记。
我从question 知道如何做到这一点。
但我的标签顺序是可配置的。有没有办法可以配置 MORE 选项卡,如果我在其中设置选项卡的值,它只会放置 badgeValue?
我在想这个:
- (void)updateBadgeValue:(NSInteger)count {
int index = [self.tabBarController indexOfObject:self.tabBarItem];
if (index > 4) { //Inside MORE tab
[[[self.tabBarController moreTabBarController] tabBarItem] setBadgeValue:[NSString stringWithFormat:@"%d", count]];
}
//Also setting badge of self.tabbarItem so that it remains when it is brought to "hot tab items".
}
我正在寻找一种解决方案,这样我就不必为每个标签都这样做。此外,如果用户更改了 tab 顺序,badgeValue 也应相应更新。
谢谢。
【问题讨论】:
标签: iphone objective-c uitabbar badge