如何为我的第6个标签栏项目设置徽章价值?

时间:2012-09-12 10:42:17

标签: iphone ios ios5 ios4

我想在我的第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];   

2 个答案:

答案 0 :(得分:2)

首先,你不应该在标签栏中有第6个标签,因为它违反了Apple设定的设计规则。

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

答案 1 :(得分:0)

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

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

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

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

请参阅此答案以获取指示: Customizing the More menu on a Tab bar