0

我想在我的第 6 个 tabbaritem 上设置徽章值??怎么做。我可以使用 self.tabbaritem.badgevalue=@"" 在第 4 个 tabbaritem 上设置徽章值

但是使用相同的原理,我无法将徽章设置为我的第 6 个 tabbaritem。请帮我???

以下代码包含我的徽章值。

            CustomBadge *customBadge1=[[CustomBadge alloc]init];

            customBadge1 = [CustomBadge customBadgeWithString:[self getBadges]
                                              withStringColor:[UIColor whiteColor] withInsetColor:[UIColor redColor] withBadgeFrame:YES withBadgeFrameColor:[UIColor whiteColor] 
                                                    withScale:1.0 withShining:YES];

            [customBadge1 setFrame:CGRectMake(self.view.frame.size.width/2-customBadge1.frame.size.width/4,20, customBadge1.frame.size.width, customBadge1.frame.size.height)];

            [self.view addSubview:customBadge1];   
4

2 回答 2

2

首先,您不应该在 Tabbar 中有第 6 个选项卡,因为它违反了 Apple 设定的设计规则。

因为这会导致更多按钮显示为第 5 个按钮。单击此按钮将重定向到表格视图,该视图将显示您无法将徽章设置到的第 5 个和第 6 个选项卡视图。

于 2012-09-12T11:48:34.450 回答
0

有趣的问题——如果你的标签栏支持编辑,你可以在运行时重新排序标签,标签在前 4 个位置和“更多”控制器之间移动。(第 5 个位置是为“更多...”保留的)。

只有前 4 个项目有一个实际的 UITabBarItem ,这是徽章所在的位置。为了支持与第 6 件事关联的徽章,您可以覆盖选项卡编辑功能,调用它们的 [super] 方法,然后检查重新排序的项目是否应该有徽章。如果是这样,请设置它们的值。

当然,这需要您跟踪“更多”项目的徽章值,以便在显示时设置它们。

您还可以覆盖/扩展“更多”控制器行为以在表格行中显示徽章值,可能在附件指示器旁边。

See this answer for pointers: Customizing the More menu on a Tab bar

于 2012-09-12T18:28:14.317 回答